Java 无法写入和读取保存的游戏文件
我在将游戏中的数据写入文件并加载时遇到问题,因此我无法从保存数据时的状态恢复游戏。到目前为止,我已经做到了,但它始终抛出空指针异常。当我点击saveGame时,我使用一个缓冲写入器来写入所有数据的字符串值。然后,我通过读取文件来加载文件,我不确定如何实际显示读取的数据,但在我尝试这么做之前,我需要修复发生的空指针异常抛出。 我已经尝试写入文件,我对路径正确性很有信心,所以我不确定它为什么这样做 代码Java 无法写入和读取保存的游戏文件,java,buffer,Java,Buffer,我在将游戏中的数据写入文件并加载时遇到问题,因此我无法从保存数据时的状态恢复游戏。到目前为止,我已经做到了,但它始终抛出空指针异常。当我点击saveGame时,我使用一个缓冲写入器来写入所有数据的字符串值。然后,我通过读取文件来加载文件,我不确定如何实际显示读取的数据,但在我尝试这么做之前,我需要修复发生的空指针异常抛出。 我已经尝试写入文件,我对路径正确性很有信心,所以我不确定它为什么这样做 代码 我不认为您正在创建LoadSave实例 尝试添加以下内容: public LifeApplica
我不认为您正在创建
LoadSave
实例
尝试添加以下内容:
public LifeApplication()
{
...
loadSave = new LoadSave();
loadSave.lifeAaplication = this;
....
}
你能提供你得到的异常的堆栈跟踪吗?你到底从哪里得到NullPointerException?不确定它是否与你遇到的问题有关,但你正在对你的LifeApplication对象调用
String.valueOf
。但是由于LifeApplication类没有重写它的toString()
方法,因此您将获得的字符串很可能不包含您希望它包含的数据。
import java.io.*;
public class LoadSave {
LifeApplication lifeApplication;
public void saveGame() {
String filename = "C:\\Users\\brads\\Desktop\\GameOfLife.txt";
try {
BufferedWriter writer = new BufferedWriter(new FileWriter(filename));
writer.write(String.valueOf(lifeApplication));
writer.close();
}
catch (IOException e) {
System.out.println("Cannot write to file");
}
}
public void loadGame() {
String line = null;
String filename = "saveFile.txt";
try {
BufferedReader reader = new BufferedReader(new FileReader(filename));
do {
try {
line = reader.readLine();
} catch (IOException e) {
System.out.println("Cannot read from text file");
}
}
while (line != null);
reader.close();
} catch (IOException e) {
}
}
}
public LifeApplication()
{
...
loadSave = new LoadSave();
loadSave.lifeAaplication = this;
....
}