读写二进制文件

抽象类OutputStream:

  派生类FileOutStream(节点流):

    >用于一般目的的输出(二进制文件,非字符输出)

    >用于成组字节输出。

  派生类DataOutputStream:(处理流,但是每一次在一个文件中存储相同类型的基本类型的数据,因为在文件内部无法判断数据类型,而在读取时是根据自己知道的类型去读取的)

    >具有写各种基本数据类型的方法;

    >将数据写到另一个输出流;

    >它在所有的计算机平台上使用同样的数据格式

    >其中size方法,课作为计数器,统计写入的字节数。

DataOutputStream是一个处理流,将各种基本数据类型的数据处理成二进制数据

FileOutputStream只能输出字节流

BufferedOutputStream输出缓冲区: 

一个BufferOutputStream和DataOutputStream以及OutputStream的应用

readByte高位补符号位,readUnsignedByte,高位补0(上图中的一个方法);

 当读二进制文件时,无法判断是否读完文件,这时可以通过异常进行处理,因为到文件尾时,继续读文件程序就会抛出IO异常,这时我们可以通过try catch 代码块来进行处理

文件在读的过程中没有到文件尾也可能会发生异常,所以使用多个catch块来进行处理,当文件关闭时也可嫩会发生异常,因为文件关闭语句在catch块里,所以需要用try catch 嵌套结构进行处理;

文本文件实际上也是二进制方式存储的,所以也可以使用二进制的读取流读取文本文件;

猜你喜欢

转载自www.cnblogs.com/mcmx/p/9134557.html