为了账号安全,请及时绑定邮箱和手机立即绑定

利用字节输入流,读出的内容多于原来的内容

字节流读入得内容多于或少于原来的内容是怎么回事。我用的是 byte buffer[]=new byte[64];字节数组读的

正在回答

2 回答

肯定是 最后一次读的时候,字节数不够64个 ,比如说是30个 你却多读了34个

byte buffer[]=new byte[64];

int num;// 记录用数组读数据的个数

while((num=in.read(buffer,0,buffer.length))!=-1){

        System.out.println(new String(buffer,0,num))//这个时候num就是30 了,就不会多读了

}


说了半天,循环读的时候,只是利用了一个字节数组,如果第一次读满了64个,假如第二次读30个

那么第二次字节数组中的字节,除了新读入的数据,还有就是第一次的后34个。

如果不用num 控制,那就肯定多读啊!

0 回复 有任何疑惑可以回复我~

 应该是你的数组大小问题,试试把参数改为 file.length

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

利用字节输入流,读出的内容多于原来的内容

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信