0

I am trying to read x characters from a text file at a time, progressively. So if I had: aaaaabbbbbcccccabckcka and im reading 5 at a time I would get, aaaaa, bbbbb,ccccc, abckc and ka. The code I am using is:

            status =  is.read(bytes);
            text = new String(bytes);

where bytes is: bytes = new byte[5], I am calling these two lines of code till status becomes -1, the problem I am facing is, the output is not what I have mentioned above, but I get this:

aaaaa, bbbbb, ccccc, abckc and kackc, notice the last segment 'kackc' is garbage, why is this happening ?

Note: that bytes is initialized once outside the reading loop.

4

2 に答える 2

1

現在のソリューションは ASCII で機能しますが、他のエンコーディングの多くの文字は複数のバイトを使用します。anとa の代わりにaReaderとa をそれぞれ使用する必要があります。char[]InputStreambyte[]

于 2012-11-08T23:29:26.510 に答える
0

新しい入力を読み取るたびにバイトバッファをクリアする必要があることがわかりました.forループを使用してゼロにしましたが、うまくいきました

于 2012-11-08T22:32:45.560 に答える