嗨即時嘗試保存我的對象的ArrayList當onPause()和/或onStop()被調用,然後在應用程序已被殺死並重新啓動後從該文件中讀取數組。我試過一些不同的方法,但似乎沒有任何工作,目前這就是我所擁有的。在Android上通過會話從文件中寫入然後讀取ArrayList <Object>?
我寫代碼:
try{
FileOutputStream fout = openFileOutput(FILENAME, 0);
ObjectOutputStream oos = new ObjectOutputStream(fout);
oos.writeObject(toDos);
oos.close();
}
catch (Exception e){
e.printStackTrace();
}
我的代碼如下:
try{
FileInputStream streamIn = openFileInput(FILENAME);
ObjectInputStream ois = new ObjectInputStream(streamIn);
if(ois.readObject() != null) {
list = (ArrayList<Object>) ois.readObject();
ois.close();
}
}
catch (Exception e){
e.printStackTrace();
}
「文件名」是一個包含字符串「data.txt中」變量 待辦事項是的名稱arrayList,它是一個位於Activity頂部的字段,它是一個Serializable對象Object的ArrayList。
不知道我在這裏做錯了什麼,我不能告訴它的寫作是否存在或問題可能在哪裏。
你得到了什麼錯誤? – Thomas
@Thomas根本沒有任何要求。除非我嘗試使用File x = new File(this.getFileDirs(),FILENAME),否則我會得到一個空指針異常。 – Volt
使用catch語句來捕獲一般異常被認爲是一種不好的做法,請爲FileNotFoundException,IOException和ClassNotFoundException分別製作catch語句,然後查看try塊捕獲哪種類型的異常。 – Thomas