![](/img/trans.png)
[英]BufferedWriter and FileWriter writing strange character instead of number to text file Java
[英]Writing a file to text with BufferedWriter(Writes something strange)Java
我尝试在文本文件中写入一些整数,并且仅在每一行中输入一个值,所以我使用了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的值,但在文本文件中看到以下几行。
Ǵ
ಀ
ಀ
ಀ
这是为什么?
另一种方法是:
writer.write(board.Player1.money+"");
用整数write(int c)需要一个字符。 考虑使用write(String s,int off,int len)或某些包装器,例如PrintWriter
BufferedWriter
的write(...)
方法已重载。
例如:有一个方法void write(String arg)
将给定的String写入文件,而有一个void write(int arg)
将给定的Integer转换为字符,然后将该字符写入文件。
要解决您的问题,您必须进行更改
writer.write(board.Player1.position);
至
writer.write(Integer.toString(board.Player1.position));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.