Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 写入.csv文件中的新行而不覆盖第一行_Java_File_Io_Java Io_Filewriter - Fatal编程技术网

Java 写入.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

我正试图做到,每当用户输入一个名称并传递时,它都会将该信息(以name,pass的格式)写入由位置指定的.csv文件。但是,每当我运行程序时,它总是覆盖第一行。我尝试添加
“\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));