如何使用 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 分隔到单独的行中? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

JDK源码:FileOutputStream

FileOutputStream

FileOutputStream:写入串口

BigDataJava基础_FileOutputStream写入文件

FileInputStream_FileOutputStream

io-输出流