Delete src/main/java/net/viper/status/stats/StatsStorage.java via Git Manager GUI

This commit is contained in:
2026-05-22 17:25:40 +00:00
parent fc2c4bed5f
commit 4db99e9dea

View File

@@ -1,46 +0,0 @@
package net.viper.status.stats;
import java.io.*;
/**
* Fix #9: save() und load() sind jetzt synchronized um Race Conditions
* zwischen Auto-Save-Task und Shutdown-Aufruf zu verhindern.
*/
public class StatsStorage {
private final File file;
private final Object fileLock = new Object();
public StatsStorage(File pluginFolder) {
if (!pluginFolder.exists()) pluginFolder.mkdirs();
this.file = new File(pluginFolder, "stats.dat");
}
public void save(StatsManager manager) {
synchronized (fileLock) {
try (BufferedWriter bw = new BufferedWriter(new FileWriter(file))) {
for (PlayerStats ps : manager.all()) {
bw.write(ps.toLine());
bw.newLine();
}
bw.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public void load(StatsManager manager) {
if (!file.exists()) return;
synchronized (fileLock) {
try (BufferedReader br = new BufferedReader(new FileReader(file))) {
String line;
while ((line = br.readLine()) != null) {
PlayerStats ps = PlayerStats.fromLine(line);
if (ps != null) manager.put(ps);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}