Hallo alle zusammen
ich bin relativ neu in Java und hab ein paar Sachen ausprobiert und bin jetzt das erste mal auf ein Problem gestoßen, das ich alleine nicht mehr lösen kann.
Also folgendes:
ich hab in eclipse eine einfache Klasse geschrieben, ein Objekt erstellt und dieses sollte dann in eine datei geschrieben werden mittels Serialisierung. So das hat auch alles wunderbar geklappt.
Daraufhin hab ich ein jar-archiv erstellt und die bereits vorhandenen txt-dateien die ich verwendet hatte mit reingepackt. Wenn ich jetzt die jar-datei gestartet hab und das Objekt quasi beim beenden wieder serialisiert in die Datei geschrieben werden sollte, hat es eine neue Datei in dem Ordner angelegt, in dem das jar-archiv ist und dorthinein geschrieben und nicht in die von mir dafür vorgesehene Datei.
Meine Frage jetzt was genau muss ich verändern damit in die vorbereitete Datei geschrieben wird und nicht eine neue erstellt wird.
Hier meine Serialisierungs-Methode:
und hier der Code wo ich nach der Datei suche:
(Wenn weiterer code benötigt wird bitte sagen, weil ich nicht genau weiß was in dem Fall wichtig ist).
Vielen Dank und liebe Grüße
Meno
P.S. Bitte entschuldigt den Titel ich wusste nicht wie ich das hier nennen sollte
ich bin relativ neu in Java und hab ein paar Sachen ausprobiert und bin jetzt das erste mal auf ein Problem gestoßen, das ich alleine nicht mehr lösen kann.
Also folgendes:
ich hab in eclipse eine einfache Klasse geschrieben, ein Objekt erstellt und dieses sollte dann in eine datei geschrieben werden mittels Serialisierung. So das hat auch alles wunderbar geklappt.
Daraufhin hab ich ein jar-archiv erstellt und die bereits vorhandenen txt-dateien die ich verwendet hatte mit reingepackt. Wenn ich jetzt die jar-datei gestartet hab und das Objekt quasi beim beenden wieder serialisiert in die Datei geschrieben werden sollte, hat es eine neue Datei in dem Ordner angelegt, in dem das jar-archiv ist und dorthinein geschrieben und nicht in die von mir dafür vorgesehene Datei.
Meine Frage jetzt was genau muss ich verändern damit in die vorbereitete Datei geschrieben wird und nicht eine neue erstellt wird.
Hier meine Serialisierungs-Methode:
Java:
/**
* Serialisierung eine Objektes
*
* @param element
* @param datei
*/
public void serializeObject(T element, String datei) {
try {
ObjectOutputStream os = new ObjectOutputStream(new BufferedOutputStream(new FileOutputStream(datei)));
os.writeObject(element);
os.close();
}
catch(IOException e) {
System.out.println("Fehler");
}
}//Ende serializeObject()
und hier der Code wo ich nach der Datei suche:
Java:
public class TestDriver {
private MainFrame myFrame;
public static void main(String[] args) {
TestDriver myApp = new TestDriver();
myApp.init();
}
private void init() {
int zustand;
boolean isEmpty;
File stadt = new File("stadt.txt");
isEmpty = lesetest(stadt);
//Aufruf abhaengig davon, ob Datei leer ist oder nicht
if(isEmpty) {
zustand = 1;
} else {
zustand = 0;
}
myFrame = new MainFrame(zustand);
}
/**
* Testet ob Datei leer ist oder nicht
*
* @param path
* @return true wenn datei leer, sonst false
*/
private boolean lesetest(File path) {
boolean isEmpty = true;
int a;
try {
FileInputStream fr = new FileInputStream(path);
a = fr.read();
if(a != -1) {
isEmpty = false;
}
}
catch(IOException e) {
System.out.println("Fehler");
}
return isEmpty;
}
}
(Wenn weiterer code benötigt wird bitte sagen, weil ich nicht genau weiß was in dem Fall wichtig ist).
Vielen Dank und liebe Grüße
Meno
P.S. Bitte entschuldigt den Titel ich wusste nicht wie ich das hier nennen sollte