读写二进制文件

抽象类OutputStream:

  派生类FileOutStream(节点流):

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

    >用于成组字节输出。

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

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

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

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

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

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

FileOutputStream只能输出字节流

BufferedOutputStream输出缓冲区: 

 

一个BufferOutputStream和DataOutputStream以及OutputStream的应用

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

 

 

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

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

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

 

转载于:https://www.cnblogs.com/mcmx/p/9134557.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值