我尝试将一些整数写入文本文件,每行只输入一个值,所以我使用了BufferedWriter。
try (BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream("filename.txt"), "utf-8"))) {
writer.write(board.Player1.money);
writer.newLine();
//Continues to do this for 4 players.
writer.newLine();
writer.write(board.Player1.position);
writer.newLine();
//Continues to do this for 4 players.
}
我期望看到的是我的文本文件中的整数。像board.Player1.money
这样的值是正确的,因为它们适用于代码的其他部分。所以我希望看到一个像300这样的值,但我在文本文件中看到以下几行。
Ǵ
ಀ
ಀ
ಀ
为什么?
答案 0 :(得分:2)
另一种方法是:
writer.write(board.Player1.money+"");
答案 1 :(得分:1)
write(int c)期待一个字符。 考虑使用write(String s,int off,int len)或一些包装器,如PrintWriter
答案 2 :(得分:1)
write(...)
的{{1}}方法已超载。
例如:有方法BufferedWriter
将给定的String写入文件,并且void write(String arg)
将给定的Integer转换为字符,然后将字符写入文件。
要解决你的问题,你必须改变
void write(int arg)
到
writer.write(board.Player1.position);