DataOutputStream
主要用于将 Java 的基本数据类型以二进制形式写入输出流。它通常与 DataInputStream
配合使用,后者用于从输入流中读取相应的基本数据类型。
数据流支持原始数据类型值(boolean
、char
、byte
、short
、int
、long
、float
和double
)以及字符串值的二进制 I/O。
所有数据流要么实现 DataInput
接口,要么实现 DataOutput
接口。本节重点介绍这些接口最广泛使用的实现, DataInputStream
以及 DataOutputStream
.
该 DataStreams
示例通过写出一组数据记录,然后再次读入它们来演示数据流。每条记录由与发票上的某个项目相关的三个值组成,如下表所示:
订单已记录 | 数据类型 | 数据说明 | 输出方式 | 输入法 | 样本值 |
---|---|---|---|---|---|
1 | double |
商品价格 | DataOutputStream.writeDouble |
DataInputStream.readDouble |
19.99 |
2 | int |
单位数量 | DataOutputStream.writeInt |
DataInputStream.readInt |
12 |
3 | String |
商品描述 | DataOutputStream.writeUTF |
DataInputStream.readUTF |
"Java T-Shirt" |
DataOutputStream dos = null;
String outputPath = "java/target/classes/io/output.txt";
try {
dos = new DataOutputStream(new FileOutputStream(outputPath));
byte b = 100;
short s = 200;
int i = 300;
long l = 400L;
float f = 3.0F;
double d = 3.14;
boolean sex = false;
char c = 'a';
// 写
dos.writeByte(b); // 把数据以及数据的类型一并写入到文件当中。
dos.writeShort(s);
dos.writeInt(i);
dos.writeLong(l);
dos.writeFloat(f);
dos.writeDouble(d);
dos.writeBoolean(sex);
dos.writeChar(c);
} catch (FileNotFoundException e) {
throw new RuntimeException(e);
} finally {
try {
dos.close();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
}
文件中存放的是二进制文件。