DataOutputStream 主要用于将 Java 的基本数据类型以二进制形式写入输出流。它通常与 DataInputStream 配合使用,后者用于从输入流中读取相应的基本数据类型。

数据流支持原始数据类型值(booleancharbyteshortintlongfloatdouble)以及字符串值的二进制 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);  
            }  
        }  
    }  
}

image.png

文件中存放的是二进制文件。