如何使用 FileOutputStream 将 HashMap 分隔到单独的行中? [复制]
Posted
技术标签:
【中文标题】如何使用 FileOutputStream 将 HashMap 分隔到单独的行中? [复制]【英文标题】:How do you separate a HashMap onto separate lines using FileOutputStream? [duplicate] 【发布时间】:2017-04-14 13:20:57 【问题描述】:我有一个 HashMap,我想将它作为单独的行写入文本文件。你怎么做呢?在用于写入文本文件的代码上方的 SysOut 中,我以我想要打印它们的方式打印出这些值。
map.forEach((k,v)-> System.out.println(k+", "+v));
File file = new File(Constants.FILEPATH);
FileOutputStream f = new FileOutputStream(file);
ObjectOutputStream s = new ObjectOutputStream(f);
s.writeObject(map);
s.close();
【问题讨论】:
【参考方案1】:不要使用ObjectOutputStream
,使用PrintWriter
:
try (PrintWriter out = new PrintWriter(file))
map.forEach((k,v) -> out.println(k+", "+v));
【讨论】:
没错。ObjectOutputStream
用于序列化,而不是用于编写人类可读的文件。
成功了!谢谢以上是关于如何使用 FileOutputStream 将 HashMap 分隔到单独的行中? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
BigDataJava基础_FileOutputStream写入文件