我正在尝试写一堆输出写入文件,但只有listOfValues的最后一个值才会被写入 . 我搜索了其他提出这个问题的人,并尝试将newValue放入List并在附加模式下打开一个文件,但我仍然只得到listOfValues的最后一个值 .

List <Integer> keys = new ArrayList<Integer> (hashMap.keySet());
    List<Integer> p = new ArrayList<Integer> ();

    Collections.sort(keys);
    double sum =0.0;
    //for(Map.Entry<Integer,Integer> entry: hashMap.entrySet())
    //for(int newValue2: newValue1) {

  //    double
  //  }
        for(int key: keys){
            PrintWriter pw = new PrintWriter(new FileOutputStream("test.csv"),true);
            StringBuilder sb = new StringBuilder();
            sb.append("h");
            sb.append(',');
            sb.append("hN");
            sb.append('\n');
        double value = hashMap.get(key);


        List <Double> listOfnewValues = new ArrayList<Double> (); 
        double newValue = (double) (value/numOfSimulations);
        for(int i=0;i<keys.size();i++) {
            double newValue2 = (double) (value/numOfSimulations);

        listOfnewValues.add(newValue2);
        }
    //System.out.print(key+" : "+ newValue+"test");

        for(int value1: keys) {
        sb.append(value1);
        sb.append(',');
        sb.append(newValue);
        sb.append("\n");

        }

 /*      for(int value1 : keys) {
            sb.append(',');
        sb.append(newValue);
        sb.append("\n");

            }*/
        pw.write(sb.toString());
        pw.close();

        for (double i = 0; i < newValue; ++i) {             
            System.out.print("*");


        }
        System.out.println();
        //sum+=newValue;
    }

    System.out.println("total sum ="+ sum);
}