Запись данных в файл по клику на JButton - Java GUI
У меня есть кнопка:
private JButton WyborProgramu = new JButton("Wybor programu");
По клику на которую должна сработать функция wyborprogramu
WyborProgramu.addActionListener(new wyborprogramu ());
Код функции:
class wyborprogramu implements ActionListener {
public void actionPerformed (ActionEvent ee) {
BufferedReader br = null;
Panel panel = new Panel();
panel.setLayout(new FlowLayout());
try {
File file = new File("history.txt");
if(!file.exists())
file.createNewFile();
PrintWriter pw = new PrintWriter(file);
pw.println("Button - wybor programu");
br = new BufferedReader(new FileReader("ListaProgramow.txt"));
String line;
while((line = br.readLine()) != null) {
JButton program = new JButton(line);
panel.add(program);
program.addActionListener(new program ());
}
JOptionPane.showMessageDialog(null, panel, "Lista programow", JOptionPane.PLAIN_MESSAGE);
}
catch(IOException e) {
System.out.println("Error: " + e);
}
finally {
try { br.close(); }
catch(IOException e) { System.out.println("Error: " + e); }
}
}
}
В строчках
File file = new File("history.txt");
if(!file.exists())
file.createNewFile();
PrintWriter pw = new PrintWriter(file);
pw.println("Button - wybor programu");
я хочу что бы по клику на кнопку создался файл и записалась строчка "Button - wybor programu" в него, в итоге
файл создается но пустой, в чем проблема может быть?
Ответы (1 шт):
Автор решения: Roman C
→ Ссылка
После того, как вы закончили писать в PrintWriter, его надо закрыть, иначе содержимое буфера будет удалено.
try (PrintWriter pw = new PrintWriter(file)) {
pw.println("Button - wybor programu");
}