File outputFile2 = new File("money2.txt");
BufferedWriter outData2 = new BufferedWriter(new FileWriter(outputFile2));
for(int i = 0 ; i < 4 ; i++)
{
System.out.println(ts[i].getMoney());
outData2.write("TESTING");
outData2.write(ts[i].getMoney());
outData2.newLine();
}
outData2.close();
这是我的代码。在我的控制台中,我得到了
20000
10000
10000
4000
这正是我想要的文件。但相反,我在money2.txt
中得到了这个:
TESTING?
TESTING?
TESTING?
TESTING?
(测试用于调试目的)
我无法弄清楚如何调试它。我的文件正在被正确写入(因为&#39; TESTING&#39;正在打印。我的数组正在被正确读取(因为输出到控制台是正确的。
出了什么问题?
答案 0 :(得分:5)
我怀疑ts[i].getMoney()
是int
,而BufferedWriter是一个低级文本界面,它假设您正在编写一个codePoint字符,即(char) 20000
和(char) 10000
,它显示为{ {1}}因为您正在使用的字符编码未知。
使用PrintWriter
尝试以下操作?
答案 1 :(得分:0)
在.toString()
之后添加ts[i].getMoney()
,如果不是,请使用Integer.toString(ts[i])