To jest moja klasa otwierająca i zapisująca plik. Otwiera i zapisuje ale coś niestety jak otworzy to nie pamięta ścieżki. Wiem, że ja traci z pamięci zapewne. Ale co i jak poprawić to nie wiem. Głowię się jak ale... pustka ;)
Może mnie ktoś naprowadzić ??
class OpenSaveHandler implements ActionListener{
private JFileChooser choos;
private JTextArea ta;
private BufferedReader br = null;
private String data, name, what;
private FileWriter fw;
public OpenSaveHandler(JTextArea area, String w){
if(choos==null) {
choos = new JFileChooser();
}
ta = area;
what = w;
}
public void actionPerformed(ActionEvent e) {
if(what.equals("open")) {
try {
choos.showOpenDialog(ta);
name = choos.getSelectedFile().getAbsolutePath();
File file = new File(name);
br = new BufferedReader(new FileReader(file));
try {
while ((data = br.readLine()) != null) {
ta.append(data + '\n');
}
} catch (IOException ex) {
Logger.getLogger(OpenSaveHandler.class.getName()).log(Level.SEVERE, null, ex);
}
try {
br.close();
} catch (IOException ex) {
Logger.getLogger(OpenSaveHandler.class.getName()).log(Level.SEVERE, null, ex);
}
} catch (FileNotFoundException ex) {
Logger.getLogger(OpenSaveHandler.class.getName()).log(Level.SEVERE, null, ex);
}
}
if(what.equals("save")){
choos.showSaveDialog(ta);
try {
fw = new FileWriter(name);
} catch (IOException ex) {
Logger.getLogger(OpenSaveHandler.class.getName()).log(Level.SEVERE, null, ex);
}
try {
fw.write(ta.getText());
} catch (IOException ex) {
Logger.getLogger(OpenSaveHandler.class.getName()).log(Level.SEVERE, null, ex);
}
try {
fw.close();
} catch (IOException ex) {
Logger.getLogger(OpenSaveHandler.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
}