把InputStream或者OutputStream封装为DataInputStream和DataOutputStream。
时间: 2023-07-27 15:11:25 浏览: 130
Java的DataInputStream和DataOutputStream数据输入输出流
5星 · 资源好评率100%
DataInputStream和DataOutputStream是Java I/O库中的两个类,它们提供了对基本数据类型的高级操作。DataInputStream和DataOutputStream都是装饰器模式的应用,可以将底层的InputStream和OutputStream封装成支持读写Java基本数据类型的流。
下面是一个示例代码,演示如何使用DataInputStream和DataOutputStream:
```java
import java.io.*;
public class DataStreamExample {
public static void main(String[] args) throws IOException {
// 创建一个文件并写入基本数据类型
FileOutputStream fos = new FileOutputStream("data.bin");
DataOutputStream dos = new DataOutputStream(fos);
dos.writeInt(12345);
dos.writeDouble(3.1415926);
dos.writeBoolean(true);
dos.writeUTF("Hello, World!");
dos.close();
// 从文件中读取基本数据类型
FileInputStream fis = new FileInputStream("data.bin");
DataInputStream dis = new DataInputStream(fis);
int a = dis.readInt();
double b = dis.readDouble();
boolean c = dis.readBoolean();
String d = dis.readUTF();
dis.close();
// 输出读取到的数据
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
}
}
```
在这个示例中,我们创建了一个名为"data.bin"的文件,并使用DataOutputStream写入了一个整数、一个双精度浮点数、一个布尔值和一个字符串。然后我们使用DataInputStream从文件中读取这些基本数据类型,并将它们输出到控制台上。
需要注意的是,DataInputStream和DataOutputStream的使用需要按照顺序读写基本数据类型,并且读写时需要使用相应的读写方法,例如readInt()、readDouble()、readBoolean()和readUTF()等。如果读写的顺序或读写方法不匹配,将会导致数据读取出错。
阅读全文