Hallo,
ich würde gerne einen Highscore in ein Spiel implementieren, der auch erhalten bleibt, wenn ich das Programm schließe. Ich habe das mit einer .txt Datei gelöst:
Wenn ich das Projekt allerdings mit Eclipse in eine .jar Datei exportiere, funktioniert zwar alles, aber der Highscore wird beim Schließen nun nicht mehr gespeichert. Was muss ich spezielles beachten, damit der Highscore auch in einer .jar Datei funktioniert?
ich würde gerne einen Highscore in ein Spiel implementieren, der auch erhalten bleibt, wenn ich das Programm schließe. Ich habe das mit einer .txt Datei gelöst:
Java:
package com.company;
import java.io.*;
import java.util.Scanner;
public class SpeicherVorgang
{
private static File file;
private static StringBuilder sb = new StringBuilder();
public static void writeHighscoreToFile () throws IOException
{
//Datei erstellen in die gespeichert wird
file = new File("src/gfx/SpielDaten.txt");
if (!file.exists()) {
file.createNewFile();
}
//Stringbuffer löschen, falls da noch was drin steht
sb.delete(0, sb.length());
//Variablen in den Stringbuffer speichern
sb.append(Integer.toString(Highscore.value));
sb.append("\n");
//Stringbuffer in die file schreiben
OutputStream stream = new FileOutputStream(file);
stream.write(sb.toString().getBytes());
stream.close();
}
public static void readHighscoreFromFile () throws IOException
{
//Datei laden die gelesen werden soll
file = new File("src/gfx/SpielDaten.txt");
Scanner sc = new Scanner(file);
//Überprüfen ob was in der Datei drin steht (praktisch für Schleifen)
if(sc.hasNext()){
//Über sc.nextLine() kann man alles lesen was in der nächsen Zeile steht
Highscore.value = Integer.valueOf(sc.nextLine());
}
sc.close();
}
}