从arraylist输出到文件不工作 - java

时间:2013-11-28 17:43:28

标签: java arrays file output

我正在尝试创建一个程序,将一组整数从arraylist输出到一个文件,但是我得到的是.dat文件中的一堆问号。谁能看到我的问题是什么?

   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 个答案:

答案 0 :(得分: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();