📅  最后修改于: 2023-12-03 14:42:20.593000             🧑  作者: Mango
Java 提供了类 DataOutputStream
,它是用于将 Java 原始数据类型写入二进制文件的输出流。它实现了 DataOutput
接口,具有写入各种 Java 原始类型数据的方法。主要用于数据持久化和网络传输。
在创建 DataOutputStream
对象时需要传入一个 OutputStream
对象,比如 FileOutputStream
或 ByteArrayOutputStream
。
// 写入文件
DataOutputStream dos = new DataOutputStream(new FileOutputStream("file.bin"));
// 写入字节数组
byte[] bytes = new byte[1024];
DataOutputStream dos = new DataOutputStream(new ByteArrayOutputStream(bytes.length));
写入数据时,调用相应的方法即可。比如 writeInt()
方法可以写入一个整数。
dos.writeInt(42);
写入数据时需要注意写入顺序,因为在读取时需要按照同样的顺序读取。
// 写入先后顺序必须与读取时的顺序一致
dos.writeInt(42);
dos.writeDouble(3.14);
dos.writeUTF("Hello World");
以下示例将数据写入文件并读回来。
import java.io.*;
public class DataOutputStreamExample {
public static void main(String[] args) throws IOException {
// 写入文件
DataOutputStream dos = new DataOutputStream(new FileOutputStream("data.bin"));
dos.writeInt(42);
dos.writeDouble(3.14);
dos.writeUTF("Hello World");
dos.close();
// 读取文件
DataInputStream dis = new DataInputStream(new FileInputStream("data.bin"));
int i = dis.readInt();
double d = dis.readDouble();
String s = dis.readUTF();
dis.close();
System.out.println(i);
System.out.println(d);
System.out.println(s);
}
}
最终输出结果为:
42
3.14
Hello World