2013-04-02 211 views
0

我有一個ArrayList類,並嘗試將其保存到文件中。我正在寫一個測試方法來將字符串保存到一個文件中,然後加載它們。從字符串中讀取字符串而不是字符

我在FileWriter類中找到一個方法來編寫一個字符串。我無法在FileReader中找到任何方法讀取字符串。有沒有辦法做到這一點?

+0

你在ArrayList中存儲哪些類型的對象,以及你想讓你的文件表示看起來像什麼? – hertzsprung

回答

1

最簡單的方式來存儲ArrayList的文件是ObjectOutputStream

ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(yourfile)); 
oos.writeObject(list); 

要恢復使用ObjectInputStream ArrayList中:

ObjectInputStream ois = new ObjectInputStream(new FileInputStream(yourfile)); 
ArrayList list = (ArrayList) ois.readObject(); 

的這些類的序列化格式確保您可以安全地存儲字符串與任何類別的人物沒有恐懼打破輸出。基於行的存儲(例如使用BufferedReader.readLine時)不允許您恢復帶有嵌入換行符的字符串。

+0

啊啊這麼容易,謝謝你看起來像我在吠叫錯誤的樹。 -Ted –

+0

我無法獲取BYOUR示例代碼的工作方式:上線oos.write(cGlobals.conFav);我得到一個錯誤提示「不適用於ArrayList類型」 –

+0

對不起,應該是'writeObject '和'readObject',而不是'write'和'read'。糾正。 – Joni

3

使用BufferedReader與方法readLine()