2013-04-02 171 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()