Java 断开文本:在android中读取较大大小的文本
我有一个关于android应用程序在读取大尺寸文本文件时出现断开文本的问题 我正在尝试建立应用程序来读取大尺寸文本文件(约10mb) 当我读取文件并使用System.println检查文本文件的内容时 但是,当我显示消息但打印语句时 它显示断开的文本,如 ��T��H��E�� ��P��R��o��J��E��C��T�� ��G��u 当我在读小尺寸的rtf时被发现,但我使用了文本文件,然后我就出了问题 我使用的代码像 我在想这可能是编码的问题。因此,我添加了utf8选项 但是,它仍然不起作用 有人知道断文的解决方法吗 更新: 我想,我解决了这个问题。 我从窗口文本编辑器创建新的文本文件,然后复制并粘贴内容。Java 断开文本:在android中读取较大大小的文本,java,android,utf-8,filestream,Java,Android,Utf 8,Filestream,我有一个关于android应用程序在读取大尺寸文本文件时出现断开文本的问题 我正在尝试建立应用程序来读取大尺寸文本文件(约10mb) 当我读取文件并使用System.println检查文本文件的内容时 但是,当我显示消息但打印语句时 它显示断开的文本,如 ��T��H��E�� ��P��R��o��J��E��C��T�� ��G��u 当我在读小尺寸的rtf时被发现,但我使用了文本文件,然后我就出了问题 我使用的代码像 我在想这可能是编码的问题。因此,我添加了utf8选项 但是,它仍然不起作
现在,它正在正确读取文件可能是给定文件的编码错误,可能是文件不包含文本,可能是console不支持字符 此外,代码太长,这里有一个单行解决方案
String s = new String(Files.readAllBytes(Paths.get(file)), "UTF-8");
文件可能包含图像或不支持的格式,在这种情况下,它将显示为这样。您确定它是UTF8吗?检查文件的实际编码,例如使用编辑器。
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);
}
String s = new String(Files.readAllBytes(Paths.get(file)), "UTF-8");