0
有沒有出路,我們可以在文本文件中的數據持久化?每次用戶完成玩遊戲時,在我的程序中,他的名字和各自的分數被寫入文本文件。當下一個玩家來到前一個玩家時,它會被覆蓋。因爲在寫模式在寫,我不知道追加模式是否支持保存這種在黑莓的分數......任何建議,歡迎寫入文本文件中,黑莓
有沒有出路,我們可以在文本文件中的數據持久化?每次用戶完成玩遊戲時,在我的程序中,他的名字和各自的分數被寫入文本文件。當下一個玩家來到前一個玩家時,它會被覆蓋。因爲在寫模式在寫,我不知道追加模式是否支持保存這種在黑莓的分數......任何建議,歡迎寫入文本文件中,黑莓
你真的應該使用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;
}
字符串文本= cs.getText()+」「+(過去/ 34);outStream.write(text.getBytes()); cs.getText()獲取用戶名和過去/ 34產生score.These 2個實體正確編寫的,但我怎樣才能使這項工作,而不會干擾以前的條目......所以,當我訪問平面文件,我必須得到一個名單及其得分列表。 – 2010-11-30 18:03:28
據我所知,還沒有在黑莓追加模式,但是這應該是簡單的重現。在覆蓋它之前只需讀入所有的文本文件,然後在寫入文件時將其寫回。然而,我仍然好奇你爲什麼沒有像我最初推薦的那樣使用PersistentStore和Hashtable。我真的認爲這是一個更好的方法,如果你發佈你遇到的問題,我會盡我所能來回答他們。 – Jonathan 2010-11-30 18:39:18