我不完全确定为什么我的方法不起作用。我正在使用一个写文件方法,它基本上使用HashMap写入外部文本文件。这是下面的
public void writeAMap(HashMap<String, String> map, String filename)
{
if(map != null) {
try (FileWriter writer = new FileWriter(filename, true)) {
for(String key : map.keySet()) {
String value = map.get(key);
if(value == null) {
System.out.println("Warning: Null response for " +
key + " in writeAMap. Using a default.");
value = "I don't know what you mean?";
}
writer.write(key.trim());
writer.write('\n');
writer.write(value.trim());
writer.write('\n');
}
writer.close();
}
catch(IOException e) {
System.out.println("Problem writing file: " + filename +
" in writeAMap");
}
}
else {
System.out.println("Null map passed to writeAMap.");
}
}
然后我在另一个类
中使用下面的方法调用上面的方法 public void mapWrite(HashMap<String, String>map)
{
help.writeAMap(map, "responses.txt");
}
然后我编写了下面的方法,以便在主类中调用上面的方法,
if (input.contains("write")) {
HashMap<String, String> key = new HashMap<String, String>();
instruct.mapWrite(key);
}
这编译很好并且没有错误,但它实际上并没有写入外部txt文件。任何帮助,找出为什么那将是伟大的。