我正在为我的游戏开发一个简单的保存系统,它涉及三种方法,初始化加载和保存。
这是我第一次尝试读取和写入文件,所以我不确定我是否正确执行此操作,因此我请求帮助。
我想做这个:
游戏开始时,会调用 init。如果文件 saves 不存在,则创建它,如果存在,则调用 load。
稍后在游戏中,将调用 save,并将变量逐行写入文件(我在此示例中使用两个。)
但是,我被困在加载功能上。我不知道我在做什么。这就是为什么我要问,是否可以从文件中选择某一行,并将变量更改为该特定行。
这是我的代码,就像我说的那样,我不知道我是否正确执行此操作,因此感谢您的帮助。
private File saves = new File("saves.txt");
private void init(){
PrintWriter pw = null;
if(!saves.exists()){
try {
pw = new PrintWriter(new File("saves.txt"));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}else{
try {
load();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public void save(){
PrintWriter pw = null;
try {
pw = new PrintWriter(new FileOutputStream(new File("saves.txt"), true));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
pw.println(player.coinBank);
pw.println(player.ammo);
pw.close();
}
public void load() throws IOException{
BufferedReader br = new BufferedReader(new FileReader(saves));
String line;
while ((line = br.readLine()) != null) {
}
}
我在想也许有一个数组,将文本文件中的字符串解析为整数,将其放入数组中,然后让变量等于数组中的值。