Программа, которая загружает список из.txt файла, сохраняет его обратно
Итак, в основном у меня есть этот кусок кода, который формирует простую программу JFrame, которая сохраняет значения (имена цветов, LOL) в списке и отображает список. Но я просто не могу понять, как заставить его сохранить список в файл.txt и загрузить его при запуске... это может быть просто, но я просто не понимаю, не знаю с чего начать
public class Flower extends JFrame implements ActionListener{
private List<String> flowerNames = new ArrayList<String>();
private JTextArea output;
private JTextField input;
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run(){
new Flower().setVisible(true);
}
});
}
public Flower() {
setTitle("Flowers");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLayout(new GridLayout(1,2));
JPanel right = new JPanel(new GridLayout(2,1));
JPanel row = new JPanel();
row.add(new JLabel("Flower: "));
row.add(input = new JTextField(25));
right.add(row);
row = new JPanel();
row.add(new JPanel(new FlowLayout()));
JButton button = new JButton("Add");
row.add(button);
right.add(row);
button.addActionListener(this);
getContentPane().add(right);
getContentPane().add(new JScrollPane(output = new JTextArea()));
pack();
}
@Override
public void actionPerformed(ActionEvent arg0) {
if (input.getText().length() > 0){
try {
flowerNames.add(input.getText());
} catch (Exception e){
JOptionPane.showMessageDialog(
this,
"Wrong input!",
"Check the input",
JOptionPane.PLAIN_MESSAGE);
}
finally {
Collections.sort(flowerNames);
StringBuilder sb = new StringBuilder();
for (String input : flowerNames){
sb.append(input.toString() + "\n");
}
output.setText(sb.toString());
}
}
}
}
1 ответ
Вероятно, вам следует начать с 1) загрузки файла для заполнения цветов списка строк в конструкторе вашего класса Flower; 2) затем добавления прослушивателя действий для операции закрытия вместо выхода по умолчанию при закрытии, чтобы сохранить список в виде файла 3.) наконец, вы должны убедиться, что файл существует, а затем создать.