当Android应用程序正在读取大尺寸文本文件时,我有一个关于破碎文本的问题。
我正在尝试构建应用程序以读取大型文本文件(大约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选项。
然而,它仍然不起作用..
有谁知道破碎文字的解决方案?
更新: 我想,我解决了问题。 我从窗口文本编辑器创建新的文本文件,然后复制和粘贴内容。 现在,它正在正确读取文件
答案 0 :(得分:0)
对于给定文件可能是错误的编码,可能是文件不包含文本,可能是控制台不支持该字符。
除了代码太长,这是一个单行解决方案
String s = new String(Files.readAllBytes(Paths.get(file)), "UTF-8");
答案 1 :(得分:0)
该文件可能包含图片或不支持的格式,在这种情况下,它会显示如下。