我使用下面的代码将记录写入文件。记录可以写在文件中,但每次调用此方法示例时都会附加在一行中:
Hello WorldHello WorldHello WorldHello World
如何修改代码以使输出如下所示,以便在阅读文本时我可以使用line.hasNextLine()进行检查?
Hello World
你好世界
你好世界
Hello World
// Create file
FileWriter fstream = new FileWriter(fileName, true);
BufferedWriter out = new BufferedWriter(fstream);
out.write(c.toString());
//Close the output stream
out.close();
// Code I used to read record I am using | as a seperator name and id
String fileName = folderPath + "listCatalogue.txt";
String line = "";
Scanner scanner;
String name, id;
scanner = new Scanner(fileName);
System.out.println(scanner.hasNextLine());
while (scanner.hasNextLine()) {
line = scanner.nextLine();
System.out.println(line);
StringTokenizer st = new StringTokenizer(line, "|");
name = st.nextToken();
id = st.nextToken();
catalogues.add(new Catalogue(name, id));
}
答案 0 :(得分:53)
我不确定我是否理解正确,但这是你的意思吗?
out.write("this is line 1");
out.newLine();
out.write("this is line 2");
out.newLine();
...
答案 1 :(得分:17)
out.write(c.toString());
out.newLine();
这是一个简单的解决方案,我希望它有效
编辑: 我正在使用“\ n”,这显然不是推荐的方法,修改后的答案。
答案 2 :(得分:8)
您可以调用java提供的方法newLine()
,将新行插入文件中。
有关更多参考资料 - http://download.oracle.com/javase/1.4.2/docs/api/java/io/BufferedWriter.html#newLine()
答案 3 :(得分:-1)
.newLine()是最好的。 有时候你不想改变属性运行时。 所以替代解决方案是追加\ n