【发布时间】:2017-04-10 09:09:45
【问题描述】:
我正在尝试将名为Clients 的ArrayList 写入文件。它可以工作,但不幸的是它只是将符号写入文件而不是我的实际输入。
下面是我的代码:
public void SaveToFile() {
try
{
FileOutputStream fos = new FileOutputStream("CustomerLists.txt");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(Clients);
oos.close();
} catch (Exception ex) {
ex.printStackTrace();
}
如何让它发挥作用?
【问题讨论】:
-
你了解
writeObject的作用吗? -
它以二进制格式打印。它不适合人类阅读。
-
或者更重要的是,您了解
ObjectOutputStream的作用吗?它创建一个序列化 Java 对象和值的二进制流。如果您想要文本,请创建FileWriter而不是FileOutputStream,并可选择将其包装在PrintWriter和/或BufferedWriter中。 -
@dimo414 这个问题的症结在于 OP 期望创建一个文本文件,并且两个副本都准确地解决了这个问题。