写入文件

时间:2014-04-09 19:01:43

标签: java java-io filewriter

我是第一次写文件,但文件上的文字出错了。它打印出无法识别的字符,而不是数字(它应该打印)。我似乎无法理解为什么会这样? (在我的代码中,print语句在for循环中,但这是循环中的“shell”)

对此有合理的解释吗?

try {
 FileWriter outFile = new FileWriter("newFile.txt", true);
 outFile.write(number);
} catch (IOException e) {
 e.printStackTrace();
}

1 个答案:

答案 0 :(得分:4)

您正在致电Writer.write(int)

  

写一个字符。要写入的字符包含在给定整数值的16个低位中; 16位高位被忽略。

我的猜测是你想做什么。如果要编写数字的文本表示,则需要明确地执行此操作:

outFile.write(String.valueOf(number));

(就我个人而言,我建议您使用OutputStreamWriter FIleOutputStream,然后您可以 - 并且应该 - 指定编码。FileWriter 始终使用平台默认编码。)