如何创建一个与文本文档具有相同空格和换行符的字符串?

时间:2015-11-19 03:39:37

标签: java

我正在使用扫描仪类来读取文本文件。我希望字符串具有相同数量的空格和新行,以便我可以将其放入JTextArea中。这是我到目前为止所做的:

public String getText(){
    String text = "";

    while(read.hasNextLine()){
        text += read.nextLine();

    }

    return text;
}

当我添加+'\ n'时,它只添加了空格而不是新行。

3 个答案:

答案 0 :(得分:2)

  

我使用扫描仪类来阅读文本文件。

不要使用扫描仪。无需将文件解析为数据行。

而是使用Reader,然后您可以使用read(...)的{​​{1}}方法来读取文件:

JTextArea

答案 1 :(得分:1)

read.nextLine()删除\n个字符。因此,您必须将其添加回text += read.nextLine() + "\n";

所以完整的代码将是:

public String getText(){
    String text = "";

    while(read.hasNextLine()){
         text += read.nextLine() + "\n";

    }

    return text;
}

修改:如here所示,您可以将\n替换为\r\n,如content = content.replaceAll("(?!\\r)\\n", "\r\n");

答案 2 :(得分:1)

您实际上可以通过附加返回值为System.getProperty("line.separator");的文本字符串将新行添加回JTextArea。建议这样做,因为它返回与系统相关的换行和/或返回托架字符。

nextLine()方法实际上从String中删除任何换行符和回车符。