1.今天学习了过滤流
通常字节流只具有读写字节内容的方法,它们只能在文件中读取或者向文件中写入字节,在实际开发中往往需要在文件中读取或写入各种类型的数据,如整型、布尔类型等数据,就必须先将其他类型的数据转换成字节数组后写入文件,或者从文件中读取到的字节数组转换成其他数据类型,这时就需要包装类,它提供了向各种输出流对象中写入各种类型数据的方法。
1.DateOutputStream
构造函数语法
public DateOutputStream(OutputStream out)
1 import java. io. DataOutputStream; 2 import java. io.FileOutputStream; 3 import java. io. IOException; 4 import java.io. OutputStream; 5 public class DataOutputStreamDemo { 6 public static void main(String[] args) throws IOException { 7 write(); 8 } 9 public static void write() throws IOException{ 10 OutputStream os = new FileOutputStream("D:/Hello.txt"); 11 DataOutputStream dos=new DataOutputStream(os); 12 dos.writeInt (123); 13 dos.writeBoolean(true) ; 14 dos.writeByte (34); 15 dos.writeBytes ("He1l1o"); 16 dos.writeChar(58) ; 17 dos.writeChars ("java"); 18 dos.writeDouble (20.0); 19 dos.writeFloat (20f); 20 dos.writeShort (31); 21 dos.writeUTF ("C++"); 22 dos.writeLong (13L) ; 23 dos. flush() ; 24 dos.close(); 25 } 26 }
2.DateInputStream
1 import java. io. DataInputStream; 2 import java. io.FileInputStream; 3 import java. io. IOException; 4 import java.io. InputStream; 5 public class DataInputstreamDemo { 6 public static void main(String[] args) throws IOException { 7 read() ; 8 } 9 public static void read() throws IOException { 10 InputStream in = new FileInputStream("D:/Hello.txt"); 11 DataInputStream dis =new DataInputStream(in) ; 12 int a=dis.readInt() ; 13 boolean flag = dis. readBoolean(); 14 byte b=dis.readByte(); 15 char c=dis.readChar(); 16 double d=dis.readDouble(); 17 float f=dis.readFloat(); 18 short s=dis.readShort (); 19 long l=dis.readLong(); 20 dis.close(); 21 System.out.println(a); 22 System.out.println(flag) ; 23 System.out.println(b); 24 System.out.println(c); 25 System .out.println(d); 26 System .out.println(f); 27 System.out.println(s); 28 System.out.println(l); 29 } 30 }
2.遇到的问题:输入和输出的数据格式发生转变,有的不一样了
3.明天继续学习第12章