Sie sollten Ihre Spieldaten nicht in einer Java-Datei speichern. Das macht keinen Sinn. Java-Dateien sollen Java-Quellcode speichern, nicht Ihre Spieldaten.
Sie sollten Ihre Spieldaten in andere Dateien schreiben und sie lesen, wenn das Programm startet.
Sie verwenden grundsätzlich ObjectOutputStream
und ObjectInputStream
, um dies zu tun.
Kurz bevor der Benutzer das Programm schließt, erstellen Sie eine neue ObjectOutputStream
:
FileOutputStream fos = new FileOutputStream("The/Path/That/You/Want/The/Data/File/To/be");
ObjectOutputStream stream = new ObjectOutputStream(fos);
Dann Sie Ihre Spieldaten alle (Ihre ints und Streicher) stellen in einem einzigen POJO, die Serializable
implementiert. Schreiben Sie anschließend dieses POJO in diese Datei.
Dies ist die POJO Klasse:
public class GameData implements Serializable {
private int int1, int2, int3;
private String s1, s2, s3;
// getters for the fields
public GameData(int int1, int int2, int int3, String s1, String s2, String s3) {
this.int1 = int1;
this.int2 = int2;
this.int3 = int3;
this.s1 = s1;
this.s2 = s2;
this.s2 = s3;
}
}
Und Sie speichern die Daten wie folgt aus:
GameData data = new GameData(someInt1, someInt2, someInt3, someStr1, someStr2, someStr3);
stream.writeObject(data);
Wenn Sie die Daten wieder lesen möchten, erstellen Sie einfach eine FileInputStream
und ein ObjectInputStream
und Besetzung das gelesene Objekt zu GameData
und Sie können alle Ihre Ints und Strings zurück bekommen!
Ja! Fügen Sie Ihren 'save' und' load' Code in eine Datei ein. Viel Glück! –
Von welcher Art von Spiel/App sprichst du? Sie können alle diese in einer Datenbank speichern, wenn Sie möchten. – aksappy