BufferedWriter 不写入文件

BufferedWriter do not write to a file

我正在尝试制作文本编辑器,但无法将内容保存到文本文件中:文件已创建但为空。

class Saver implements ActionListener{
    public void actionPerformed(ActionEvent e){

            try{
        File file = new File("projekat");
        if(!file.exists()){
        file.createNewFile();   

        FileWriter fw = new FileWriter(file.getAbsoluteFile());
        BufferedWriter bw = new BufferedWriter(fw);
        bw.write(tekst1);
        bw.close();
        }
            }
            catch(IOException ex){
                ex.printStackTrace();
            }
    }

}

JTextArea代码

    area = new JTextArea(tekst1, 30,30);
    tekst1 = area.getText();

请帮帮我。最好的问候

bw.write(tekst1);
此行将内容写入文件。
你很接近,你正在写的字符串只是空的,所以没有任何内容写入文件是正常的。

一些示例:
http://www.mkyong.com/java/how-to-write-to-file-in-java-bufferedwriter-example/
http://www.tutorialspoint.com/java/io/bufferedwriter_write_string.htm
http://beginnersbook.com/2014/01/how-to-write-to-file-in-java-using-bufferedwriter/

仅包含此代码:--- file.createNewFile(); 在你的 if 语句中,把其他东西放在你的 if 之外。

问题是你需要调用tekst1 = area.getText(); 再次在您的 actionPerformed 方法中更新 tekst1.

的内容
class Saver implements ActionListener {
    public void actionPerformed(ActionEvent e) {

        try {
            File file = new File("projekat");
            if (!file.exists()) {
                file.createNewFile();

                FileWriter fw = new FileWriter(file.getAbsoluteFile());
                BufferedWriter bw = new BufferedWriter(fw);

                // get latest contents of the JTextArea
                tekst1 = area.getText();

                bw.write(tekst1);
                bw.close();
            }
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }

}