2010-11-30 89 views
0

有没有出路,我们可以在文本文件中的数据持久化?每次用户完成玩游戏时,在我的程序中,他的名字和各自的分数被写入文本文件。当下一个玩家来到前一个玩家时,它会被覆盖。因为在写模式在写,我不知道追加模式是否支持保存这种在黑莓的分数......任何建议,欢迎写入文本文件中,黑莓

+1

字符串文本= cs.getText()+”“+(过去/ 34);outStream.write(text.getBytes()); cs.getText()获取用户名和过去/ 34产生score.These 2个实体正确编写的,但我怎样才能使这项工作,而不会干扰以前的条目......所以,当我访问平面文件,我必须得到一个名单及其得分列表。 – 2010-11-30 18:03:28

+2

据我所知,还没有在黑莓追加模式,但是这应该是简单的重现。在覆盖它之前只需读入所有的文本文件,然后在写入文件时将其写回。然而,我仍然好奇你为什么没有像我最初推荐的那样使用PersistentStore和Hashtable。我真的认为这是一个更好的方法,如果你发布你遇到的问题,我会尽我所能来回答他们。 – Jonathan 2010-11-30 18:39:18

回答

3

你真的应该使用PersistentStore存储这种类型的信息 - 这是多少比试图编写文件更容易使用,可能更可靠。

但是,如果你坚持写文件,这里的通用代码打开一个文件进行追加:

private OutputStream openFileForWriting(String filePath) { 
    try { 
     FileConnection fconn = (FileConnection) Connector.open(filePath); 
     // If no exception is thrown, then the URI is valid, but the file may or may not exist. 
     if (!fconn.exists()) { 
      fconn.create(); // create the file if it doesn't exist 
     } 
     return fconn.openOutputStream(fconn.fileSize()); 
    } catch (IOException ioe) { 
     System.out.println("Could not open " + filePath + " for writing"); 
    } 
    return null; 
}