FileWriter удаляет первый ввод - PullRequest
1 голос
/ 25 мая 2020

Я новичок ie в Java, и я пишу онлайн-классное приложение, и мне нужно написать код для контроля посещаемости при нажатии кнопки takeAttendance_sbm. Когда один из них вводит свое имя для посещения, он сохраняет имя в текстовом файле, но когда другой вводит свое имя, первое имя удаляется и не отображается.

Код для сервера

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();
            }
        }

1 Ответ

3 голосов
/ 25 мая 2020

Вам нужно открыть FileWriter в режиме добавления, передав логический литерал true в качестве второго параметра конструктору:

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

Это будет записывать текст в конец существующего файла, а не заменять то, что изначально был в файле.

...