Sto scrivendo a un File
ogni volta che si modifica il contenuto nel campo JTextArea
. Ho deciso di aprire e chiudere il contenuto del file ogni volta secondo l'evento di modifica.Apri e chiudi lo stesso file più volte rispetto all'apertura del file per molto tempo
Qualcosa di simile,
public void addToLogFile(String changeContent) {
try {
PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(currentLogFile,true)));
pw.print(changeContent);
pw.close();
} catch (FileNotFoundException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}
}
Invece di aprire e chiudere il file ogni volta, ho pensato che potrebbe essere potevamo aprirlo nella fase iniziale e scaricare contenuti in qualsiasi momento. Alla fine chiudilo alla fine.
Alla fase iniziale del programma:
PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(currentLogFile,true)));
Poi da qualche parte nel codice, ovunque sia necessario,
pw.print(changeContent); // Most frequent usage
Alla fase finale del programma:
pw.close();
Quale uno sarà più efficiente ? In quali condizioni, devo sceglierne una?
Mantengalo aperto, nessuna domanda. – EJP