我正在尝试创建一个程序,将一堆整数从数组列表输出到文件,但是我得到的只是 .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);
}
}
}
最佳答案
假设energy
是 List<Integer>
您正在调用 BufferedWriter.write(int)
。此方法不是编写数字的文本表示形式。写1
你必须像这样调用 write: 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();
关于java - 从 arraylist 输出到文件不起作用 - java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20272065/