FileWriter 删除第一个输入

FileWriter deletes first input

我是 Java 的新手,我正在编写一个在线课堂应用程序,我需要编写一个代码,用于在单击 takeAttendance_sbm 按钮时进行考勤。当他们中的一个人输入他们的名字作为出勤时,它会将名字保存到 txt 文件中,但是当另一个人输入他们的名字时,第一个名字会被删除并且不会显示。

服务器代码

if(e.getSource() == takeAttendance_sbm) {
            try {
                String input = JOptionPane.showInputDialog("Attendance ");
                System.out.println(input);
                 fw = new FileWriter(new File("mytextfile.txt"));
                 fw.write(input);
                 fw.write(System.lineSeparator());
                 fw.close(); 
            } catch (IOException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
               }
        }

客户端代码

if(e.getSource() == takeAttendance_sbm) {
            move_flag = true;
            try {
                String input1 = JOptionPane.showInputDialog("Attendance ");
                System.out.println(input1);
                 fw = new FileWriter(new File("mytextfile.txt"));
                 fw.write(input1);
                 fw.write(System.lineSeparator());
                 fw.flush();

            } catch (IOException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
        }

您需要通过将布尔文字 true 作为第二个参数传递给构造函数来以追加模式打开 FileWriter:

new FileWriter(new File("textfile.txt"), true);

这会将文本写入现有文件的末尾,而不是替换文件中原来的内容。