Hallo,
ich möchte Objekte in Dateien schreiben und auch wieder auslesen aber wie ihr euch denken
könnt schreib ich euch hier, weil es nicht funktioniert
Ich schreibe ein Inventar in die Datei. Das funktioniert wunderbar.
Nur leider weiß ich nicht wie ich dann später beim auslesen der Datei die Daten als Inventar setze.
Das heißt mein Inventar soll durch die Daten aus der Datei ersetzt werden.
ich möchte Objekte in Dateien schreiben und auch wieder auslesen aber wie ihr euch denken
könnt schreib ich euch hier, weil es nicht funktioniert
Ich schreibe ein Inventar in die Datei. Das funktioniert wunderbar.
Nur leider weiß ich nicht wie ich dann später beim auslesen der Datei die Daten als Inventar setze.
Das heißt mein Inventar soll durch die Daten aus der Datei ersetzt werden.
Java:
package FileHandling;
import java.io.FileOutputStream;
import java.io.FileInputStream;
import java.io.ObjectOutputStream;
import java.io.ObjectInputStream;
import java.io.File;
import java.io.IOException;
import java.io.FileNotFoundException;
import Purchase.Inventory;
public class Storage implements java.io.Serializable{
private static final long serialVersionUID = 12345;
private static Storage mStorage = null;
Inventory inv = new Inventory();
//*****Konstruktor***********************
public Storage(){}
//*********************************************************************
public static Storage instanciate(){ //Singleton
if(getStorage() == null){
setStorage(new Storage());
}
return getStorage();
}
//*********************************************************************
public void writeFile(){
try{
FileOutputStream vFileStream = new FileOutputStream(new File("Storage.txt"),false);
ObjectOutputStream vObjStream = new ObjectOutputStream(vFileStream);
vObjStream.writeObject(Storage.instanciate().getInv().getInventory());
vObjStream.flush();
vObjStream.close();
}catch(FileNotFoundException e1){
System.out.println(e1);
}catch(IOException e2) {
System.out.println(e2);
}
}
//*********************************************************************
public boolean readFile(){
try{
FileInputStream vFileStream = new FileInputStream(new File("Storage.txt"));
ObjectInputStream vObjStream = new ObjectInputStream(vFileStream);
//Hier benötige ich eine Möglichkeit um meine Daten aus der Datei zu setzen
vObjStream.close();
return true;
}catch(FileNotFoundException e1){
writeFile();
System.out.println("Datei 'Storage.txt' nicht gefunden, Neue Datei wird erstellt.");
}catch(IOException e2) {
System.out.println(e2);
}catch(ClassNotFoundException e3){
System.out.println(e3);
}
return false;
}
//*********************************************************************
public static Storage getStorage(){
return mStorage;
}
public static void setStorage(Storage aStorage){
Storage.mStorage = aStorage;
}
public Inventory getInv(){
return inv;
}
}