我有一个关于安卓应用程序读取大尺寸文本文件时文本损坏的问题。
我正在尝试构建应用程序来读取大尺寸文本文件(约10mb)
当我读取文件并使用System.println检查文本文件的内容时
但是,当我显示消息但打印语句时
它显示损坏的文本,例如..
T h e P r o j e c t G u
当我阅读小尺寸的RTF时被发现,但我使用文本文件然后我遇到了问题
我使用了像..
String UTF8 = "utf8"; int BUFFER_SIZE = 8192; File gone = new File(path);
FileInputStream inputStream = new FileInputStream(gone);
// FileInputStream inputStream = openFileInput(gone);
if ( inputStream != null ) {
InputStreamReader inputStreamReader = new InputStreamReader(inputStream,UTF8);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader, BUFFER_SIZE);
String receiveString = "";
StringBuilder stringBuilder = new StringBuilder();
while ( (receiveString = bufferedReader.readLine()) != null ) {
stringBuilder.append(receiveString);
}
inputStream.close();
ret = stringBuilder.toString();
System.out.println(ret);
}
我在想这可能是编码问题。 在那里,我添加了 UTF8 选项。
但是,它仍然不起作用..
有谁知道破碎文本的解决方案?
更新:我想,我解决了问题。我从窗口文本编辑器创建新的文本文件,然后复制并粘贴内容。现在,它正在正确读取文件
可能是给定文件的编码错误,可能是文件不包含文本,可能是控制台不支持字符。
除了代码太长,这是一个单行解决方案
String s = new String(Files.readAllBytes(Paths.get(file)), "UTF-8");
该文件可能包含图像或不受支持的格式,在这种情况下,它将像这样显示。