为什么我的方法不适用于使用HashMap将文件写入txt文件

时间:2015-11-28 22:33:49

标签: java hashmap bluej

我不完全确定为什么我的方法不起作用。我正在使用一个写文件方法,它基本上使用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文件。任何帮助,找出为什么那将是伟大的。

0 个答案:

没有答案