0
InputStream inputStream = getResources().openRawResource(idtext);
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
String myText = "";
int in;
try {
    in = inputStream.read();
    while (in != -1) {
        byteArrayOutputStream.write(in);
        in = inputStream.read();
    }
    inputStream.close();
    myText = byteArrayOutputStream.toString();
} catch (IOException e) {
    e.printStackTrace();
}
myTextView.setText(myText); `

私のコードは、生の解像度で長いテキスト ファイルを表示するために使用されます。理由はわかりませんが、テキスト ファイルの次の行が間違って表示されるものがあります。

4

1 に答える 1

0

サンプル表示と予想される出力を共有できれば幸いです。

最初の推測では、次の 2 つの理由が考えられます。

  1. テキスト ファイルで使用されるエンコーディング。そのため、テキストを ASCII で記述し、UTF-8 文字列を使用して表示すると、混乱することはほとんどありません。これは一貫している必要があります。

  2. 改行がファイル内でどのようにエンコードされているかの良い例かもしれませ\r\n\n.

  3. 文字列を変換するのではなく、文字列を直接読み取ることに特化したInputStreamtoおよび line 読み取りストリームをカプセル化することもできます。FileReader

  4. おそらく、Apache Commons IOのようなライブラリを使用して、すべてのものを管理できます。

于 2013-02-16T19:05:28.540 に答える