从流中读取字符串而不是字符

时间:2013-04-02 22:10:30

标签: java

我有一个ArrayList类并尝试将其保存到文件中。我正在编写一个小测试方法来将字符串保存到文件中,然后加载它们。

我在FileWriter类中找到了一个写字符串的方法。我在FileReader中找不到任何方法来读取字符串。有没有办法做到这一点?

2 个答案:

答案 0 :(得分:3)

BufferedReader与方法readLine()

一起使用

答案 1 :(得分:1)

ArrayList存储在文件中的最简单方法是使用ObjectOutputStream

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

要恢复arraylist,请使用ObjectInputStream

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

这些类的序列化格式确保您可以安全地存储具有任何类别字符的字符串,而不必担心会破坏输出。基于行的存储(例如使用BufferedReader.readLine时)不允许您恢复带有嵌入换行符的字符串。