Java保存文本文件

时间:2018-05-12 17:07:06

标签: java

我有一个JFileChooser设置为一个Save Dialog和一个jTextArea,我可以写东西,我的问题是,当我保存它时,文本没有被保存。我有什么想法我做错了吗?

private void saveAsButtonMouseClicked(java.awt.event.MouseEvent evt) {                                          
    SaveAs saveasbtn= new SaveAs();
    int retrival = saveOption.showSaveDialog(null);
    if (retrival == JFileChooser.APPROVE_OPTION) 
       {saveasbtn.saveAs(jTextArea2.getText(),saveOption);}
    }


 public void saveAs(String value,JFileChooser saveOption){

    try {
        FileWriter fw;
        fw = new FileWriter(saveOption.getSelectedFile()+".txt");
        fw.write(value);
    } catch (IOException ex) {
        Logger.getLogger(SaveAs.class.getName()).log(Level.SEVERE, null, ex);
    }
 }

1 个答案:

答案 0 :(得分:1)

使用try-with-resources语法确保您的数据已写出。

try (FileWriter fw = new FileWriter(saveOption.getSelectedFile()+".txt") {
    fw.write(value);
} catch (IOException ex) {
    Logger.getLogger(SaveAs.class.getName()).log(Level.SEVERE, null, ex);
}

您可能还想让IOExceptionsaveAs()传播(通过向方法签名添加throws IOException)或执行其他操作,例如返回boolean来表示写入是否成功。否则,您的程序无法判断saveAs()是否实际有效。