当然不能用i,你每读一次就输出一次!
所以每次读入都放入第一位(0),如果从第i位开始(i+l)将大于l,淑足就会越界,当然错误!

解决方案 »

  1.   

    是不是把那个os.write(b,i,1);去掉就可以用“i”
      

  2.   

    byte[] b = new byte[buffer];
    byte[] x = new byte[buffer];
    byte[] m = new byte[1];
    for(int i=0; i<buffer; i++){
      if(b[i]==b[i+1] && b[i]==b[i+2]){
          m[0] = b[i];
      }
    }这样也会出错啊!!!
      

  3.   

    当然有问题啦你看:for(int i=0; i<buffer; i++){i的长度才少于buffer但是if(b[i]==b[i+1] && b[i]==b[i+2]){又+1又+2的,长度已经越界,出错!!==================================================================注意:此人因发表爱国言论,被斑竹hexiao*扣除6分信誉分?!