今天我们看一下这个专属数据的流DataInputStream DataOutputStream
这两个流是包装流,专门用于给数据进行输入输出的流,我们可以看一下这个包装流对于数据量类型的强大功能处理,这两个流不仅能对数据类型的元素进行输入输出,还能保存其类型,也就是说我们不仅能保存数据还能保存数据的类型,并且用其他的流无法进行处理,且数据的存取的规则顺序必须一致,才能正确的读取内容
我们看一下实例:
import java.io.*;
public class dataStreamTest {
public static void main(String[] args) {
FileInputStream fis=null;
FileOutputStream fos=null;
DataInputStream dis=null;
DataOutputStream dos=null;
try {
fos=new FileOutputStream("test.txt");
dos=new DataOutputStream(fos);
dos.writeByte(12);
dos.writeInt(1234);
dos.writeDouble(234.342);
fis= new FileInputStream("test.txt");
dis=new DataInputStream(fis);
System.out.println(dis.readByte());
System.out.println(dis.readInt());
System.out.println(dis.readDouble());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
if (dis!=null) {
try {
dis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (dos!=null){
try {
dos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
结果展示:
test.txt文件
我们从上述的代码中可以看到,我们对test.txt文件进行写入了数据并且指明了写入数据的类型,然后进行读取打印,然而我们可以看到testl.txt文件中的内容我们是无法进行查看的因为我们用专属的DataOutputStrean写出的内容只有用专属的DateInputStream读取才能查看到数据内容,并且我们写入的元素顺序和读取的元素顺序及其类型必须一致,必须一致:
写入顺序:
dos.writeByte(12);
dos.writeInt(1234);
dos.writeDouble(234.342);
读取顺序:
dis.writeByte(12);
dis.writeInt(1234);
dis.writeDouble(234.342);
所以这个流用的比较少,可能加密处理可能会多一些,我们了解一下吧!!!