[英]Reading from text file line by line in Java
如何逐行读取文本文件中的内容? 当我尝试输出内容时,换行符似乎从阅读中被忽略。
public class ReadFile {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
String str= "";
//Reading content from file
Scanner in = new Scanner(new FileReader("text.txt"));
while(in.hasNextLine()){
str = str + in.nextLine();
str.concat("\n"); //Not working!!!!!!!!!!!
}
in.close();
//Writing content to another file
PrintWriter out = new PrintWriter(new FileWriter("output.txt"));
out.println(str);
out.close();
}
}
您在以下行中犯了错误:
str.concat("\n");
更新如下:
str = str.concat("\n");
我正在提供更新的程序。
public class ReadFile {
public static void main(String[] args) throws IOException {
try (PrintWriter out = new PrintWriter(new FileWriter("output.txt"));
Scanner in = new Scanner(new FileReader("text.txt"));) {
while (in.hasNextLine()) {
out.println(in.nextLine());
}
}
}
}
您需要在 concat 操作后将字符串设置为新值。
str = str.concat("\n"); // or \r\n for Windows.
您正在连接效率不高的字符串; 使用 StringBuilder,也使用平台无关的行终止符。
试试这个:
public class ReadFile {
public static void main(String[] args) throws IOException {
String str= "";
//Reading content from file
Scanner in = new Scanner(new FileReader("text.txt"));
StringBuilder str = new StringBuilder();
String newLine = System.getProperty("line.separator");
while(in.hasNextLine()){
str.append(in.nextLine()).append(newLine);
}
in.close();
//Writing content to another file
PrintWriter out = new PrintWriter(new FileWriter("output.txt"));
out.println(str.toString());
out.close();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.