Как сделать действие сохранения, которое проверяет, было ли выполнено «сохранить как» - PullRequest
0 голосов
/ 14 марта 2012

Я исследовал и попытался вернуться к файлу 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();
    }
}

1 Ответ

0 голосов
/ 15 марта 2012

Вместо сохранения экземпляра в JFileChooser лучше сохранить экземпляр в File (который будет null до того, как будет выполнено любое сохранение). В вашем методе SaveActionPerformed проверьте, является ли файл null. Если это null, тогда выполните Save_As и сохраните выбранный файл в вашей файловой переменной, если это не null, тогда выполните обычное сохранение в файл.

...