慕粉3900480
2016-10-02 17:00
字节流读入得内容多于或少于原来的内容是怎么回事。我用的是 byte buffer[]=new byte[64];字节数组读的
肯定是 最后一次读的时候,字节数不够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 控制,那就肯定多读啊!
应该是你的数组大小问题,试试把参数改为 file.length
文件传输基础——Java IO流
133754 学习 · 1030 问题
相似问题
回答 2
回答 1