java - ObjectOutputStream 人类可读

标签 java file-io arraylist io

我正在尝试读取 ArrayList 并将其写入文件,目前正在使用 ObjectOutputStream 写入文件。

fout = new FileOutputStream(file);
ObjectOutputStream oos = new ObjectOutputStream(fout);

oos.writeObject(arraylist);
fout.close();

arraylist 变量是对象的 ArrayList。此方法工作正常,但它以人类不可读的格式打印到文件中。

有没有什么方法可以(相对容易地)实现相同的功能,以便以人类可读的方式将对象写入文件?

最佳答案

您可以使用人类可读的 Json 表示。

例如使用 jackson :

ObjectWriter ow = new ObjectMapper().writer();
ow.writeValue(fout, arraylist);

回读:

List<E> myObjects = new ObjectMapper().readValue(inputStream, 
                      new TypeReference<List<E>>(){});

关于java - ObjectOutputStream 人类可读,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32152221/

相关文章:

matlab 快速 : test if text file is empty

java - 检查ArrayList元素是否存在

java - 在考虑业务需求变化的情况下,POJO/模型或领域驱动对象的本质到底是什么?

java - 使用基于注解的 Spring Retry 在运行时动态更改拦截器

c++ - 将大文件从 RAM 写入磁盘

c++ - 如何在 C++ 中手动读取 PNG 文件?

java - 跳过并选择 java arraylist 的选项?

java - 克隆队列而不从原始队列中删除元素 [Java]

java - 将使用InputStream作为输入的对象方法转换为要打印的数组

java - 使用java发送邮件