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); `

我的代码用于在原始 res 中显示长文本文件。我不知道为什么,但是下一行的一些文本文件显示错误,有什么帮助吗?

4

1 回答 1

0

如果您可以与您的预期输出共享一些示例显示,那就太好了。

从最初的猜测来看,这可能是由于以下几个原因:

  1. 文本文件中使用的编码。因此,如果您已经用 ASCII 编写文本并在使用 UTF-8 字符串时显示它,它会搞砸一些事情。这应该是一致的。

  2. 可能是换行符如何在文件中编码的一个很好的例子,比如\r\n或只是\n.

  3. 您还可以尝试封装您的InputStreamtoFileReader和 line reading 流,这些流更专门用于直接读取字符串,而不是转换它。

  4. 您可能可以使用Apache Commons IO之类的库来为您管理所有内容。

于 2013-02-16T19:05:28.540 回答