我正在使用扫描仪类来读取文本文件。我希望字符串具有相同数量的空格和新行,以便我可以将其放入JTextArea中。这是我到目前为止所做的:
public String getText(){
String text = "";
while(read.hasNextLine()){
text += read.nextLine();
}
return text;
}
当我添加+'\ n'时,它只添加了空格而不是新行。
答案 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中删除任何换行符和回车符。