我正在尝试创建一个程序,将一组整数从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);
}
}
}
答案 0 :(得分:1)
假设energy
为List<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();