【发布时间】: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) 中有错误,我无法编译它。
【问题讨论】:
-
“我有一个错误”……不要让我们不知所措。
-
方法
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