迭代 HashMap 然后将整数写入文件

Iterating over HashMap then writing integers into file

我已经尝试了很长一段时间来遍历 HashMap,然后将 HashMap 中的键写入文件。

这就是我一直在做的事情

HashMap<String,Integer> myHashMap = new Hashmap<String,Integer>();

 myHashMap.put(aString,1)
 myHashMap.put(bString,2)
 myHashMap.put(cString,3)
//..

private void doStuff(){
try {
        // Create new file
        String path = "myCreatedTxt.txt";
        File file = new File(path);

        // If file doesn't exists, then create it
        if (!file.exists()) {
            file.createNewFile();
        }

        FileWriter fw = new FileWriter(file.getAbsoluteFile());
        BufferedWriter bw = new BufferedWriter(fw);

        for (Map.Entry<String,Integer> dic : myHashMap.entrySet())
        {
            System.out.println(dic.getKey() + "/" + dic.getValue());
            bw.write(dic.getKey()+"");
        }

        // Close connection
        bw.close();
    } catch (IOException x) {
        System.out.println(x);
    }
}

但是当调用doStuff()时,虽然创建了一个名为myCreatedTxT的文件,但它是空的。

我希望得到的结果类似于:

---inside myCreatedFile.txt--- 1 11 4 2 5 6 7

在我只能在文件上写入一个密钥之前尝试过的一种方式,但这还不够,因为我需要每个密钥。

我想听听一些建议或解释

谢谢。

P.S 当然,doStuff() 在程序的某个地方的 finally{} 块中被调用。

我为这个例子创建了 Writer class :

public class Writer {
    private Map<String, Integer> myHashMap;

    public Writer() {
        myHashMap = new HashMap<>();

        myHashMap.put("a", 1);
        myHashMap.put("b", 2);
        myHashMap.put("c", 3);
    }


    public void doStuff() {
        try {
            // Create new file
            final String path = "myCreatedTxt.txt";
            File file = new File(path);

            // If file doesn't exists, then create it
            if (!file.exists()) {
                file.createNewFile();
            }

            FileWriter fw = new FileWriter(file.getAbsoluteFile());
            BufferedWriter bw = new BufferedWriter(fw);


            myHashMap.entrySet().forEach(x -> {
                try {
                    bw.write(x.getKey() + " ");
                } catch (IOException e) {
                    System.out.println("error accord");
                }
            });

            // Close connection
            bw.close();
        } catch (IOException x) {
            System.out.println(x);
        }
    }
}

并从我的 main class 调用它:

public class Main {
        public static void main(String[] args) {
           Writer writer = new Writer();

           writer.doStuff();
        }
}

我的输出文件看起来完全一样:

a b c

这应该可以完成工作