无法在文件中获取特定输出

时间:2012-10-16 08:13:09

标签: java file-io

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;正在打印。我的数组正在被正确读取(因为输出到控制台是正确的。

出了什么问题?

2 个答案:

答案 0 :(得分:5)

我怀疑ts[i].getMoney()int,而BufferedWriter是一个低级文本界面,它假设您正在编写一个codePoint字符,即(char) 20000(char) 10000,它显示为{ {1}}因为您正在使用的字符编码未知。

使用PrintWriter

尝试以下操作
?

答案 1 :(得分:0)

.toString()之后添加ts[i].getMoney(),如果不是,请使用Integer.toString(ts[i])