【问题标题】:Write Map in File with Consumer in Java 8在 Java 8 中使用 Consumer 将 Map 写入文件
【发布时间】:2020-11-09 16:41:46
【问题描述】:

我想编写一个类MapWriter<T>,实现Map<T,Integer> 的消费者,将输入映射写入文本文件。我有一个最终属性 outputFilePathStr。

@AllArgsConstructor
public class MapWriter<T> implements Consumer<Map<T,Integer>>{

    private final String outputFilePathStr;

    @Override
    public void accept(Map<T, Integer> tIntegerMap) {
        Files.write(outputFilePathStr, tIntegerMap);
    }
}

我在 Files.write(outputFilePathStr, tIntegerMap) 中有错误,我无法编译它。

P.S:注解@AllArgsConstructor 来自 Lombok 插件,它会自动生成所有的构造函数。

【问题讨论】:

  • “我有一个错误”……不要让我们不知所措。
  • 方法Files.write 没有重载,它接受java.util.Map 作为参数:docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/…
  • 查看负责写入数据的文件中的可用方法。例如docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/… 看起来很有希望。您只需要将 map 转换为 String 即可将其用作 CharSequence csq 参数。
  • 如果文件已经存在并且包含一些数据,你想做什么?您是要在文件末尾附加新数据(作为新行)还是删除旧数据并用新数据替换。
  • 请不要发布代码、错误等图片。将正确格式的信息复制/粘贴到您的问题中。

标签: java collections java-8 consumer


【解决方案1】:

我解决了。我改变了这个:

 Files.write(outputFilePathStr, tIntegerMap.toString().getBytes())

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-16
    • 2010-09-20
    • 1970-01-01
    • 2012-04-08
    • 1970-01-01
    • 1970-01-01
    • 2016-03-30
    相关资源
    最近更新 更多