日期:2014-05-20  浏览次数:20786 次

java菜鸟问一个简单问题,一个流读取的问题
Java code
try{
            InputStream stream=remote.openStream();
            InputStreamReader reader =new InputStreamReader(stream);
            int offset=0;
            while(offset<length){
                offset+=reader.read(content, offset, 1023);
                sleep((int)(Math.random()*1000));
            }
        }


content是char[1024]数组,我想从流里每次读1023字节,流的长度是length,但是每次第二次到reader.read(content, offset, 1023);
就出现java.lang.IndexOutOfBoundsException错误,实在想不明白错在哪里,请高手指教一下

------解决方案--------------------
offset+=reader.read(content, 0, 1023);
------解决方案--------------------
offset+=reader.read(content, offset, 1023);

这里的参数指的是
offset - Offset at which to start storing characters

是说的数组里的offset,所以要设成0