这是我关于堆栈溢出的第一个问题,希望你能帮助我。我已经在网上进行了一些搜索,但我一直在寻找有关使用 BufferedReader 读取文本文件或从 Internet 上的文件中读取字节的教程或答案。理想情况下,我希望在我的服务器上有一个名为“http://ascistudent.com/scores.data”的文件,该文件存储我制作的游戏玩家制作的所有分数对象。
该游戏是一个简单的“方块掉落”游戏,您尝试让 3 个相同的方块接触来增加分数。当时间用完时,从文件中加载乐谱,它们的乐谱被添加到乐谱对象列表的正确位置。之后,分数将再次保存到同一文件中。
目前我得到一个异常,突出显示行上的java.io.EOFException :
URL url = new URL("http://ascistudent.com/scores.data");
InputStream is = url.openStream();
Score s;
ObjectInputStream load;
//if(is.available()==0)return;
load = new ObjectInputStream(is); //----------java.io.EOFException
while ((s = (Score)load.readObject()) != null){
scores.add(s);
}
load.close();
我怀疑这是由于文件为空。但是当我捕捉到这个异常并告诉它使用以下代码写入文件(更改分数列表之后)时,似乎没有写入任何内容(异常继续发生。)
URL url = new URL("http://ascistudent.com/scores.data");
URLConnection ucon = url.openConnection();
ucon.setDoInput(true);
ucon.setDoOutput(true);
os = ucon.getOutputStream();
ObjectOutputStream save = new ObjectOutputStream(os);
for(Score s:scores){
save.writeObject(s);
}
save.close();
我究竟做错了什么?谁能指出我正确的方向?
非常感谢,卢克