2014-10-08 3 views
0

Я разрабатываю проект блокнота, хотел бы знать, как сделать для сохранения file.txt, моя проблема в том, что я сохраняю открытие файла JFileChooser после того, как выбрал локальный, где сохранить intend, но после того, как сохранение снова откроет JFileChoose снова. Я хочу сохранить. Не сохранять как.Как сохранить file.txt с JFileChooser?

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

Если вы хотите сохранить в качестве альтернативы к сохранить как, есть программа магазину объект File, ссылающийся путь открытого в данный момент файла, чтобы программа всегда в курсе того, что это редактирование, то просто написать программы переменная файла

Смежные вопросы