Folgendes Problem habe ich ... ich schreibe zuerst auf eine Datei hinaus mittels
zuerst initialisiere ich aber noch den Parameter mittels:
Das klappt ja noch so weit, ich hab ne Datei in der schon die Daten stehen ... zwar auf 2 Zeilen verteilt, aber immerhinn kann ich die Datei mit dem MFC - Editor öffnen. Beim lesen aber das ich mit folgenden Zeilen implementiert habe scheint aber irgendwas schief zu gehen:
der Parameter wurde hier folgendermaßen intialisiert:
aber er bringt mir immer :
Fehler beim Lesen: java.io.IOException: Stream closed
Fehler beim Lesen: java.io.IOException: Stream closed
Fehler beim Lesen: java.io.IOException: Stream closed
Fehler beim Lesen: java.io.IOException: Stream closed
Fehler beim Lesen: java.io.IOException: Stream closed
und ich weiß nicht worans liegt zumal ich doch genau so auslese wie ich einlese ...
Code:
public void psave(DataOutput dout){
try{
dout.writeUTF(this.nname);
dout.writeUTF(this.vname);
dout.writeUTF(this.strasse);
dout.writeUTF(this.ort);
dout.writeUTF(this.zusatzT);
}catch(Exception e){System.out.println("FEHLER BEIM SPEICHERN: "+e.toString());}
}
zuerst initialisiere ich aber noch den Parameter mittels:
Code:
public Speichern() {
Person p = new Person("Fischl","Daniel","Hauptstrasse","Jabing","blub");
FileOutputStream fos = null;
try{
fos = new FileOutputStream("f:\\blub");
}catch(Exception e){ System.out.println("Fehler: "+e); }
BufferedOutputStream bos = new BufferedOutputStream(fos);
DataOutputStream dos = new DataOutputStream(bos);
p.psave(dos);
try{
dos.close();
bos.close();
fos.close();
}catch(Exception e){System.out.print("Fehler Beim schließen der Datei: "+e); }
}
Das klappt ja noch so weit, ich hab ne Datei in der schon die Daten stehen ... zwar auf 2 Zeilen verteilt, aber immerhinn kann ich die Datei mit dem MFC - Editor öffnen. Beim lesen aber das ich mit folgenden Zeilen implementiert habe scheint aber irgendwas schief zu gehen:
Code:
public void restore(DataInput dIn){
try{
nname= dIn.readUTF();
vname = dIn.readUTF();
strasse = dIn.readUTF();
ort = dIn.readUTF();
zusatzT = dIn.readUTF();
}
catch(Exception e){System.out.println("Fehler beim Lesen: "+e.toString()); }
}
der Parameter wurde hier folgendermaßen intialisiert:
Code:
public tablemodelperson() {
try{
//fos = new FileOutputStream("f:\\blub");
fis = new FileInputStream("f:\\blub");
}catch(Exception e){ System.out.println("Fehler beim öffnen der Datei.");}
}
public Object getValueAt(int rowIndex, int columnIndex) {
Person p = new Person();
try{
p.restore(dis);
}catch(Exception e){System.out.println("Fehler!!! "+e.toString()); }
switch(columnIndex){
case 0: return p.getNachname();
case 1: return p.getVorname();
case 2: return p.getStrasse();
case 3: return p.getOrt();
case 4: return p.getZusatz();
default : return "";
}
}
aber er bringt mir immer :
Fehler beim Lesen: java.io.IOException: Stream closed
Fehler beim Lesen: java.io.IOException: Stream closed
Fehler beim Lesen: java.io.IOException: Stream closed
Fehler beim Lesen: java.io.IOException: Stream closed
Fehler beim Lesen: java.io.IOException: Stream closed
und ich weiß nicht worans liegt zumal ich doch genau so auslese wie ich einlese ...