Java中读写原始数据,一般采用什么流?
在Java中,读写原始数据(如基本数据类型:int、float、double、char等)通常使用DataInputStream
和DataOutputStream
这两个流。这两个流提供了方便的方法来读写原始数据类型,确保数据的格式在不同平台之间的一致性。
DataOutputStream
DataOutputStream
用于将原始数据写入输出流。它提供了多种方法来写入不同类型的数据,例如:
writeInt(int v)
writeFloat(float v)
writeDouble(double v)
writeChar(char v)
DataInputStream
DataInputStream
用于从输入流中读取原始数据。它提供了与DataOutputStream
相对应的方法,例如:
readInt()
readFloat()
readDouble()
readChar()
下面是一个简单的示例,演示如何使用DataOutputStream
和DataInputStream
来写入和读取原始数据。
import java.io.*;
public class DataStreamExample {
public static void main(String[] args) {
// 写入数据
try (DataOutputStream dos = new DataOutputStream(new FileOutputStream("data.dat"))) {
dos.writeInt(123);
dos.writeFloat(45.67f);
dos.writeDouble(89.123);
dos.writeChar('A');
} catch (IOException e) {
e.printStackTrace();
}
// 读取数据
try (DataInputStream dis = new DataInputStream(new FileInputStream("data.dat"))) {
int intValue = dis.readInt();
float floatValue = dis.readFloat();
double doubleValue = dis.readDouble();
char charValue = dis.readChar();
System.out.println("读取的整数: " + intValue);
System.out.println("读取的浮点数: " + floatValue);
System.out.println("读取的双精度数: " + doubleValue);
System.out.println("读取的字符: " + charValue);
} catch (IOException e) {
e.printStackTrace();
}
}
}
写入数据:
DataOutputStream
创建一个输出流,指向一个名为data.dat
的文件。writeInt()
, writeFloat()
, writeDouble()
, 和 writeChar()
方法将不同类型的数据写入文件。读取数据:
DataInputStream
创建一个输入流,指向同一个文件data.dat
。readInt()
, readFloat()
, readDouble()
, 和 readChar()
方法读取数据,并将其存储在相应的变量中。异常处理:
try-with-resources
语句确保流在使用后自动关闭,避免资源泄露。DataInputStream
和DataOutputStream
是处理原始数据的有效工具,能够确保数据在不同平台之间的一致性。通过这些流,开发者可以方便地读写基本数据类型,适用于需要高效数据存储和传输的场景。