Java 如何使用FileWriter向文件中的内容添加换行符
我正在尝试使用以下代码在文本文件中写入换行分隔数据:Java 如何使用FileWriter向文件中的内容添加换行符,java,Java,我正在尝试使用以下代码在文本文件中写入换行分隔数据: BufferedWriter bufferedWriter=null; FileWriter fileWriter=null; ArrayList<String> count=new ArrayList<>(); count.add("2"); count.add("4"); fileWriter=new FileWriter(fileName); buffered
BufferedWriter bufferedWriter=null;
FileWriter fileWriter=null;
ArrayList<String> count=new ArrayList<>();
count.add("2");
count.add("4");
fileWriter=new FileWriter(fileName);
bufferedWriter=new BufferedWriter(fileWriter);
bufferedWriter.write(String.valueOf(count));
PrintWriter printWriter=new PrintWriter(fileWriter);
printWriter.write(count + "\n");
bufferedWriter.close();
printWriter.close();
我如何获得如下数据:
[2, 4][2, 4]
2
4
3
54
我更喜欢直接结束。此外,我还将使用a来迭代列表中的值(并编程到接口)。像
List count=Arrays.asList(“2”、“4”、“3”、“54”);
try(PrintWriter pw=new PrintWriter(new BufferedWriter(
新文件编写器(文件名))){
for(字符串s:count){
pw.println(s);
}
}捕获(IOE异常){
e、 printStackTrace();
}
“\n”是Unix新行。在Windows上,它是“\r\n”,您需要在String.format中使用System.lineSeparator()或“%n”,才能使用适合您系统的格式。使用BufferedReader和PrintReader将同一文件打印两次,这非常奇怪。你为什么两者都需要?。显然,你只写了2和4,因为这些都在你的数据中
代码中有大量不必要的东西。声明变量时只需初始化
List<String> count = Arrays.asList("2", "4", "3", "54");
try(PrintWriter printWriter = new PrintWriter(new File(fileName)){
count.stream().forEach(printWriter::println);
} // auto-closes the streams
List count=Arrays.asList(“2”、“4”、“3”、“54”);
try(PrintWriter PrintWriter=new PrintWriter(新文件名)){
count.stream().forEach(printWriter::println);
}//自动关闭流
您想要的内容可以这样编写,因此您根本不需要执行换行,因为println会为您处理它。BufferedWriter-BufferedWriter=null;
BufferedWriter bufferedWriter=null;
FileWriter fileWriter=null;
ArrayList<String> count=new ArrayList<>();
count.add("2");
count.add("4");
count.add("3");
count.add("54");
fileWriter=new FileWriter(fileName);
bufferedWriter=new BufferedWriter(fileWriter);
for(int i = 0;i < count.size();i++){
bufferedWriter.write(String.valueOf(count.get(i)) + "\n");
}
bufferedWriter.close();
FileWriter FileWriter=null;
ArrayList计数=新建ArrayList();
计数。添加(“2”);
计数。添加(“4”);
计数。添加(“3”);
计数。添加(“54”);
fileWriter=新的fileWriter(文件名);
bufferedWriter=新的bufferedWriter(fileWriter);
对于(int i=0;i
BufferedWriter bufferedWriter=null;
FileWriter fileWriter=null;
ArrayList<String> count=new ArrayList<>();
count.add("2");
count.add("4");
count.add("3");
count.add("54");
fileWriter=new FileWriter(fileName);
bufferedWriter=new BufferedWriter(fileWriter);
for(int i = 0;i < count.size();i++){
bufferedWriter.write(String.valueOf(count.get(i)) + "\n");
}
bufferedWriter.close();