Java 读取txt文件时检测换行符-Android

Java 读取txt文件时检测换行符-Android,java,android,Java,Android,我有一个简单的应用程序,可以读取txt文件并将其放在EditText视图中。 除了无法从txt文件中检测到换行符并将其替换为\n之外,所有操作都非常正常 例如: 我的文件里有这个文本 this is a file with newline but this is what I get in the Edittext view: thisisafilewithnewline. 这是我的代码: private String onFileC

我有一个简单的应用程序,可以读取txt文件并将其放在EditText视图中。 除了无法从txt文件中检测到换行符并将其替换为\n之外,所有操作都非常正常

例如: 我的文件里有这个文本

    this
    is
    a
    file
    with
    newline

but this is what I get in the Edittext view:

    thisisafilewithnewline.
这是我的代码:

private String onFileClick(Option o){

    StringBuilder text = new StringBuilder();//--read text from file---
    String filePath = o.getPath();
    String CHARSET = "ISO-8859-1";
    String fileType = MimeTypeMap.getFileExtensionFromUrl(filePath);
    String NOT_TXT = "NOT TXT FILE";

    try{
        BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(filePath), CHARSET));
        String line;
        while((line = br.readLine()) != null){
            text.append(line.replaceAll("\r\n", "\n"));
        }
        br.close();
    }catch (FileNotFoundException e) {
        Log.e("login activity", "File not found: " + e.toString());
    } catch (IOException e) {
        Log.e("login activity", "Can not read file: " + e.toString());
    }

    if(fileType.equals("txt"))
        return text.toString();
    else
        return NOT_TXT;
}

我需要帮助。

您需要阅读Javadoc。readLine方法删除行终止符。

您需要读取Javadoc。readLine方法删除行终止符

text.append(line+"\n");// this will add new line into your string after reading
这就是你想做的吗


这就是您要做的吗?

reader.readLine函数删除API文档中指定的回车符和换行符:

您得到的每个行实例都以某种方式\r\n或\r\n终止。 因此,您可以做如下操作,而不是替换

text.append(line + "\n");

reader.readLine函数删除API文档中指定的回车和换行符:

您得到的每个行实例都以某种方式\r\n或\r\n终止。 因此,您可以做如下操作,而不是替换

text.append(line + "\n");

不,我只想检测文件中的换行符并替换它。如果此文件包含标题和后面的段落,则我想显示标题,\n然后显示段落。您检测到了它。当您使用readLine时;您可以从文本文件中读取一行。您只需在每次迭代中以附加字符串的形式做一个标记,如\\n或任何您喜欢的int lines detected。。。linesDetected+=1;他没问题下一次检查文档时,像EJP指出的那样,这样的简单内容有时会被忽略。不,我只想检测文件中的换行符并替换它。如果此文件包含标题和后面的段落,则我想显示标题,然后显示段落。您检测到了它。当您使用readLine时;您可以从文本文件中读取一行。您只需在每次迭代中以附加字符串的形式做一个标记,如\\n或任何您喜欢的int lines detected。。。linesDetected+=1;他没问题下一次检查文档时,像EJP指出的那样,有时像这样简单的东西会被忽略。您可以使用readLine,但不需要替换行终止符,您只需要附加它们。您可以使用readLine,但不需要替换行终止符,您只需附加它们即可。