为什么要改为: byte[] b = new byte[1024]; 还有就是,是不是每读一个字节,那个字节就自动不存在了,然后下一个字节变成当前的字节?
read = fis.read(b, 0, 1)改为 read = fis.read(b, i, 1)
改了之后就是这样:java.lang.IndexOutOfBoundsException at java.io.FileInputStream.readBytes(Native Method) at java.io.FileInputStream.read(FileInputStream.java:183) at adjunct.CompressAdjunct.sample(CompressAdjunct.java:28) at adjunct.CompressAdjunct.main(CompressAdjunct.java:45) Exception in thread "main"
byte跟数字差不多的,可以直接比较
byte[] b = new byte[1024]; 还有就是,是不是每读一个字节,那个字节就自动不存在了,然后下一个字节变成当前的字节?
read = fis.read(b, i, 1)
at java.io.FileInputStream.readBytes(Native Method)
at java.io.FileInputStream.read(FileInputStream.java:183)
at adjunct.CompressAdjunct.sample(CompressAdjunct.java:28)
at adjunct.CompressAdjunct.main(CompressAdjunct.java:45)
Exception in thread "main"
把 if((read = fis.read(b, 0, 1)) != -1){
改為if((read=fis.read(b))!=-1)看看