Текстовый редактор: не работает сохранение файла - Java

Узнай цену своей работы

Формулировка задачи:

По заданию необходимо написать простой текстовый редактор (создание, открытие, сохранение отредактированного). Вопрос: почему не работает сохранение файла?
buttonSave.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                try(FileWriter writer = new FileWriter(file)){
                    writer.write(area.getText());
                    writer.flush();
                }catch (Exception e2){   
                }
            }
        });
Полный код:
public static void main(String[] args)
    {
       public static void main(String[] args)
    {
        JFrame frame = new JFrame("Мой текстовый редактор"); 
        frame.setSize (800, 600); 
        frame.setVisible(true); 
 
        JButton buttonOpen = new JButton("Открыть");
        buttonOpen.setLocation(10, 10); 
        buttonOpen.setSize(100, 50); 
        
        JButton buttonSave = new JButton("Сохранить");
        buttonSave.setLocation(120, 10); 
        buttonSave.setSize(100, 50); 
        
        JButton buttonNew = new JButton("Новый");
        buttonNew.setLocation(230, 10); 
        buttonNew.setSize(100, 50); 
 
        JTextArea area = new JTextArea();
        area.setLocation(10, 70);
        area.setSize(790, 530);
        
        File file = new File(" "); 
// -------------------------------------
        buttonOpen.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                File file = new File(" ");
                JFileChooser chooser = new JFileChooser();
                chooser.showOpenDialog(frame);
                file = chooser.getSelectedFile(); 
                try(FileReader reader = new FileReader(file)){
                    char [] buf = new char [(int) file.length()]; 
                    reader.read(buf);
                    area.setText(new String(buf)); 
                }catch (Exception e1){  
                }
            }
        });
        buttonSave.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                try(FileWriter writer = new FileWriter(file)){
                    writer.write(area.getText());
                    writer.flush();
                }catch (Exception e2){   
                }
            }
        });
        buttonNew.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                File file = new File(" ");
                JFileChooser chooser = new JFileChooser();
                if(chooser.showSaveDialog(null)== JFileChooser.APPROVE_OPTION){
                    file = chooser.getSelectedFile();
                    try(FileWriter writer = new FileWriter(file)){
                        writer.write("");
                        writer.flush();
                    }catch (Exception e3){   
                    }
                }
            }
        });
// -------------------------------------
        frame.add(buttonOpen); 
        frame.add(buttonSave);
        frame.add(buttonNew);
        frame.add(area);
        frame.add(new JLabel());
    }

Решение задачи: «Текстовый редактор: не работает сохранение файла»

textual
Листинг программы
private static File file;

Оцени полезность:

13   голосов , оценка 3.692 из 5