Java 写入.csv文件中的新行而不覆盖第一行
我正试图做到,每当用户输入一个名称并传递时,它都会将该信息(以name,pass的格式)写入由位置指定的.csv文件。但是,每当我运行程序时,它总是覆盖第一行。我尝试添加Java 写入.csv文件中的新行而不覆盖第一行,java,file,io,java-io,filewriter,Java,File,Io,Java Io,Filewriter,我正试图做到,每当用户输入一个名称并传递时,它都会将该信息(以name,pass的格式)写入由位置指定的.csv文件。但是,每当我运行程序时,它总是覆盖第一行。我尝试添加“\n”和out.newLine()但由于某种原因,它不会写入下一行。我不知道它为什么会这样,所以我希望有人知道为什么 public class TestClass { public static void main(String[] args) throws IOException { String
“\n”
和out.newLine()代码>但由于某种原因,它不会写入下一行。我不知道它为什么会这样,所以我希望有人知道为什么
public class TestClass {
public static void main(String[] args) throws IOException {
String location = "my location to the file (.csv)";
Scanner sc = new Scanner(System.in);
System.out.print("Name: ");
String name = sc.next();
System.out.print("Pass: ");
String pass = sc.next();
BufferedWriter out = new BufferedWriter(new FileWriter(location));
out.write(name + "," + pass + "\n");
out.newLine();
out.close();
}
}
目前在文件中,我有以下内容:
测试,一个
当我运行程序时:
name: one
pass: two
退出程序并检查文件,第一行被替换为1,2,而不是这样:
test, one
one, two
感谢您的帮助:)使用第二个构造函数:
FileWriter(字符串文件名,布尔追加)
文件名-将依赖于系统的文件名设置为字符串。
追加-布尔值如果为真,则数据将写入文件的末尾而不是开头
谢谢你(英格·福阿德:)。不知道真实的部分:O@Sc4r不客气。阅读JavaDocs总是一个好主意;)
BufferedWriter out = new BufferedWriter(new FileWriter(location, true));