/ / Ich muss eine Datei zum Aktualisieren / Abrufen von High Score-Informationen (Java, Datei) verwenden

Ich muss eine Datei verwenden, um High Score-Informationen zu aktualisieren - java, file

Bitte helfen Ich versuche, das Programm auf eine Datei namens "highscore.txt" zugreifen zu lassen.

1: Schreiben Sie eine neue Nummer in die Datei

2: Ermittelt den niedrigsten Wert einer Liste von Zahlen in der Datei.

Bitte posten Sie den Code, wenn Sie wissen, wie.

*** Hinweis: Ich bin neu in Java und kann daher kaum auf die Datei zugreifen. ***

Bearbeiten:

Ich habe Code bekommen, von dem ich glaube, dass er funktionieren sollte, aber wenn ich das Programm starte, heißt es

    Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:864)
at java.util.Scanner.next(Scanner.java:1485)
at java.util.Scanner.nextDouble(Scanner.java:2413)
at game.game.main(game.java:91)
Java Result: 1

Hier ist Zeile 84 - 94 und der Code, den ich bekommen habe.

    84: Writer wr = new FileWriter("highscore.txt");
85:            wr.write(tries);
86:            wr.close();
87:            lowest = tries;
88:            File file = new File("highscore.txt");
89: Scanner inputFile = new Scanner(file);
90: while (inputFile.hasNext()) {
91:    numb = inputFile.nextDouble();
92:    if (numb < lowest) lowest = number;
93: }
94: inputFile.close();

Bearbeiten:

Ich habe es etwas zu arbeiten. Es liegt ein Fehler vor und es wird lediglich ein zufälliges Unicode-Symbol in die Textdatei eingefügt. Hier ist der Code für diesen Teil:

    try {

int content = tries;

File file = new File("highscore.txt");

// if file doesnt exists, then create it
if (!file.exists()) {
file.createNewFile();
}

FileWriter fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);
bw.write(content);
bw.close();

} catch (IOException e) {
e.printStackTrace();
}
Writer wr = new FileWriter("highscore.txt");
wr.write(tries);
wr.close();
lowest = tries;
File file = new File("highscore.txt");
Scanner inputFile = new Scanner(file);
while (inputFile.hasNextInt()) {
numb = inputFile.nextInt();
if (numb < lowest) lowest = numb;
}

Datei:

    32
12
7
9
18
66
13
17
91

Antworten:

0 für die Antwort № 1

Versuche dies..

        int tries = 8;
// Writing to the file
try {
int content = tries;

File file = new File("highscore.txt");

// if file doesnt exists, then create it
if (!file.exists()) {
file.createNewFile();
}

PrintWriter pw = new PrintWriter(new FileWriter(file, true));
pw.println(content);
pw.close();
/*
* FileWriter fw = new FileWriter(file.getAbsoluteFile());
* BufferedWriter bw = new BufferedWriter(fw); bw.write(content);
* bw.close();
*/
} catch (IOException e) {
e.printStackTrace();
}
/*
* Writer wr; try { wr = new FileWriter("highscore.txt");
* wr.write(tries); wr.close(); } catch (Exception e) {
*
* }
*/

// Getting the minimum score from the file
int lowest = tries;
File file = new File("highscore.txt");
Scanner inputFile;
try {
inputFile = new Scanner(file);
while (inputFile.hasNextInt()) {
int numb = inputFile.nextInt();
if (numb < lowest)
lowest = numb;
}
System.out.println("lowest Score is: " + lowest);
} catch (FileNotFoundException e) {
e.printStackTrace();
}