过滤流
通常字节流只具有读写字节内容的方法,它们只能在文件中读取或者向文件中写入字节,在实际开发中往往需要在文件中读取或写入各种类型的数据,(整型、布尔类型等),就必须先将其他类型的数据转换成字节数组后写入文件,或者从文件中读取字节数组转换成其他数据类型,这时候需要包装类。
- DataOutputStream
对于DataOutputStream必须给它一个输出流对象,完成类似DataOutputStream功能的类就是一个过滤流类或处理类
DataOutputStream构造函数基本语法
public DataOutputStream(OutputStream out)
mport java.io.DataOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class DataOutputStreamDemo {
public static void main(String[] args) throws IOException{
write();
}
public static void write() throws IOException {
OutputStream os = new FileOutputStream("D:/hello.txt");
DataOutputStream dos = new DataOutputStream(os);
dos.writeInt(123);
dos.writeBoolean(true);
dos.writeBytes("jibafei");
dos.writeChar(58);
dos.writeChars("jibafeiafei");
//输出缓冲流
dos.flush();
dos.close();
}
}
- DataInputStream
必须给它一个输出流对象,才能完成过滤流的功能
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
public class DataInputStreamDemo {
public static void main(String[] args) throws IOException{
read();
}
public static void read() throws IOException{
InputStream in = new FileInputStream("D:/hello.txt");
DataInputStream dis = new DataInputStream(in);
int a = dis.readInt();
boolean b = dis.readBoolean();
System.out.println(a);
System.out.println(b);
}
}