I want to save a score and a name in a file, but there are differnt modes that have differnt values. I would like to have 2 lines for each mode, in which the name and the score are saved without overwritig other lines
I tried using "newLine()" to skip the lines I'm already using, but then the data from those lines gets deleted. In addition, on a restart differnt lines are used than before.
Writing part:
public static void saveHighscoreToDatabase(int spielModus, String nameHighscoretraeger, int score){ try { Connection connection = DriverManager.getConnection(url, user, password); String sql = null; if (spielModus == 1){ sql = "INSERT INTO HighscoreLeicht (`Name`, `Score`) VALUES (?,?)"; }else if (spielModus == 2){ sql = "INSERT INTO HighscoreMittel (`Name`, `Score`) VALUES (?,?)"; }else if (spielModus == 3){ sql = "INSERT INTO HighscoreSchwer (`Name`, `Score`) VALUES (?,?)"; }else if (spielModus == 4){ sql = "INSERT INTO HighscoreModus (`Name`, `Score`) VALUES (?,?)"; } PreparedStatement statement = connection.prepareStatement(sql); statement.setString(1,nameHighscoretraeger); statement.setInt(2, score); statement.execute(); connection.close(); } catch (SQLException e) { try { BufferedWriter bw = new BufferedWriter(new FileWriter("....SaveFile.txt",true)); if (spielModus == 1){ bw.write(String.valueOf(score)); bw.newLine(); bw.write(nameHighscoretraeger); bw.close(); }else if (spielModus == 2){ bw.newLine(); bw.newLine(); bw.write(String.valueOf(score)); bw.newLine(); bw.write(nameHighscoretraeger); bw.close(); }else if (spielModus == 3){ }else if (spielModus == 4){ } }catch (Exception e2){ System.out.println("Error"); } } Reading Part:
try{ highscoreData = new HighscoreData(); BufferedReader br = new BufferedReader(new FileReader("....SaveFile.txt")); highscoreData.setScore(Integer.parseInt(br.readLine())); highscoreData.setName(br.readLine()); br.close(); }catch (Exception e2) { }