鱼金金~ 2022-05-30 14:43 采纳率: 94.8%
浏览 39
已结题

关于write方法应用的问题。

img


这个写操作是不是根据数组的大小一次一次写啊,不满一字节按照一字节存储。
存储的文件比原文件大一字节。
后面我用


 write(b,0,n)

解决了文件大小不一样的问题。

  • 写回答

2条回答 默认 最新

  • 笑死鱼啦 2022-05-30 14:53
    关注

    public int read(byte[] b) 返回的是读到数组中的有效个数, 假设数组是长度是1024, 前两次数组内容都读取完全了, 第三次数据不够1024, 只剩1023个数据, 那么 如果直接读取数组, 读到的是这次读到的1023个数据+上次最后一个数据(因为这次读取并没有覆盖掉), 因此使用write(b,0,n) 写b数组的内容,从索引0开始 写n个数据, 因为n是上面读取数组返回的有效个数, 这样就没问题啦

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月7日
  • 已采纳回答 5月30日
  • 创建了问题 5月30日