0

我已经研究并尝试在我的另存为操作中参考我的 fileChooser.getSeletedFile() 但无法弄清楚如何检查文件是否已创建。到目前为止,这是我尝试的代码:

另存为代码(效果很好):

public void Save_As() {

    fileChooserTest.setApproveButtonText("Save");
    int actionDialog = fileChooserTest.showOpenDialog(this);

    File fileName = new File(fileChooserTest.getSelectedFile() + ".txt");
    try {
        if (fileName == null) {
            return;
        }

        BufferedWriter outFile = new BufferedWriter(new FileWriter(fileName));
        outFile.write(this.jTextArea2.getText());//put in textfile
        outFile.flush(); // redundant, done by close()
        outFile.close();
    } catch (IOException ex) {
    }
}

“保存”代码不起作用:

private void SaveActionPerformed(java.awt.event.ActionEvent evt) {

    File f = fileChooserTest.getSelectedFile();
    try {
        if (f.exists()) {
            BufferedWriter bw1 = new BufferedWriter(new FileWriter(fileChooserTest.getSelectedFile() + ".txt"));
            bw1 = new BufferedWriter(new FileWriter(fileChooserTest.getSelectedFile() + ".txt"));

            String text = ((JTextArea) jTabbedPane1.getSelectedComponent()).getText();
            bw1.write(text);
            bw1.close();
        } else {
            Save_As();
        }
    } catch (Exception ex) {
        ex.printStackTrace();
    }
}
4

1 回答 1

0

与其将实例存储到,JFileChooser不如将实例存储到File(将null在执行任何保存之前)。在您的SaveActionPerformed方法中检查文件是否为null. 如果是,null则执行 aSave_As并将所选文件存储在文件变量中,如果不是,null则正常保存到文件中。

于 2012-03-15T07:12:20.750 回答