2013-11-28 22 views
0

我想創建一個程序,從arraylist輸出一串整數到一個文件,但是我得到的是一堆問號在.dat文件中。任何人都可以看到我的問題是什麼?從arraylist輸出到文件不工作 - java

BufferedWriter writer = null; 
      try { 
       writer = new BufferedWriter(new FileWriter("energy.dat")); 
       for(int x = 0; x< energy.size(); x++){ 
       writer.write(energy.get(x)); 
       } 
      } catch (IOException e) { 
       System.err.println(e); 
      } finally { 
       if (writer != null) { 
        try { 
         writer.close(); 
        } catch (IOException e) { 
         System.err.println(e); 
        } 
       } 
      } 

回答

1

假設energyList<Integer>你打電話BufferedWriter.write(int)。此方法不寫入數字的文本表示。要寫1你必須打電話這樣寫:writer.write((int)'1')。這與writer.write(1)不一樣。

更換

writer.write(energy.get(x)); 

String s = String.valueOf(energy.get(x)); 
writer.write(s, 0, s.length();