Hallo zusammen,
ich habe hier eine Klasse, die beim Druck von S den Text auf der MainTextOutput (extends JTextArea) in einer txt-Datei speichert und den Inhalt der txt-Datei beim Druck von R wieder auf die JTextArea schreiben soll:
Das schreiben klappt einwandfrei.
Wenn ich mit dem Druck von R den Text aus der txt-Datei wieder auf den MainTextOutput (JTextArea) schreiben möchte, dann erscheint zunächst nur ein l (ich vermute der letzte Buchstabe von null). Erst wenn ich anschließend einen Text (mittels eines JTextFields, welches ich als Eingabezeile im Programm selbst verwende) auf die MainTextOutput schreibe, erscheint auch der Text, den ich zuvor in der txt-Datei gespeichert habe.
Hat jemand eine Idee?
ich habe hier eine Klasse, die beim Druck von S den Text auf der MainTextOutput (extends JTextArea) in einer txt-Datei speichert und den Inhalt der txt-Datei beim Druck von R wieder auf die JTextArea schreiben soll:
Java:
public class DialogPanelListener implements KeyListener{
@Override
public void keyPressed(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_S){
Writer fw = null;
try {
fw = new FileWriter("playerTextOutput.txt");
fw.write(Gui.mainTextOutput.getText());
fw.append(System.getProperty("line.seperator"));
} catch (Exception e2) {
System.err.println("Could not create file to insert save data");
} finally {
if(fw != null){
try{
fw.close();
} catch(IOException e3){
e3.printStackTrace();
}
}
}
}
// hier irgendwo ist das Problem
if(e.getKeyCode() == KeyEvent.VK_R){
Reader reader = null;
try {
reader = new FileReader("playerTextOutput.txt");
for(int c; (c = reader.read()) != -1;){
System.out.print((char)c);
String s = Character.toString((char)c);
Gui.mainTextOutput.setText(s);
}
} catch (Exception e4) {
System.err.println("error while reading the file");
} finally {
try{
reader.close();
} catch (IOException e5){
System.err.println("closing the file reader did not work");
}
}
}
}
@Override
public void keyReleased(KeyEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void keyTyped(KeyEvent arg0) {
// TODO Auto-generated method stub
}
}
Das schreiben klappt einwandfrei.
Wenn ich mit dem Druck von R den Text aus der txt-Datei wieder auf den MainTextOutput (JTextArea) schreiben möchte, dann erscheint zunächst nur ein l (ich vermute der letzte Buchstabe von null). Erst wenn ich anschließend einen Text (mittels eines JTextFields, welches ich als Eingabezeile im Programm selbst verwende) auf die MainTextOutput schreibe, erscheint auch der Text, den ich zuvor in der txt-Datei gespeichert habe.
Hat jemand eine Idee?