2014-10-08 88 views
0

我正在開發記事本項目,想知道如何保存一個file.txt,我的問題是,我保留文件打開JFileChooser後,選擇本地保存打算,但如果再次保存將再次打開JFileChoose。我想保存。不保存爲。如何使用JFileChooser保存file.txt?

JFileChooser fc = new JFileChooser(); 

    int resp = fc.showSaveDialog(fc); 

    if (resp == JFileChooser.APPROVE_OPTION) { 
     PrintStream fileOut = null; 
     try { 

      File file = fc.getSelectedFile(); 

      fileOut = new PrintStream(file); 

      fileOut.print(txtArea.getText()); 
     } catch (FileNotFoundException ex) { 
      Logger.getLogger(frmNotePad.class.getName()).log(Level.SEVERE, null, ex); 
     } finally { 

      fileOut.close(); 
     } 

回答

0

更改您的工作流程。

基本上,當你第一次保存文件,你需要保持一個參考File要保存...

public class ... { 
    private File currentFile; 

現在,當你去保存文件,你需要檢查currentFile是否爲null。它是null,你要求用戶選擇一個文件,否則,你可以繼續嘗試保存文件...

if (currentFile == null) { 

    JFileChooser fc = new JFileChooser(); 
    int resp = fc.showSaveDialog(fc); 

    if (resp == JFileChooser.APPROVE_OPTION) { 
     currentFile = fc.getSelectedFile(); 
    } 

} 

// Used to make sure that the user didn't cancel the JFileChooser 
if (currentFile != null) { 
    PrintStream fileOut = null; 
    try { 
     fileOut = new PrintStream(file); 
     fileOut.print(txtArea.getText()); 
    } catch (IOException ex) { 
     Logger.getLogger(frmNotePad.class.getName()).log(Level.SEVERE, null, ex); 
    } finally { 
     try { 
      fileOut.close(); 
     } catch (IOException exp) { 
     } 
    } 
0

如果你想有一個作爲備用保存到另存爲,有程序存儲文件的對象引用當前打開的文件的路徑,以便程序總是知道它的編輯的,那麼就寫程序文件變量