使用BufferedWriter(写一些奇怪的东西)Java将文件写入文本

使用BufferedWriter(写一些奇怪的东西)Java将文件写入文本,java,eclipse,filewriter,bufferedwriter,Java,Eclipse,Filewriter,Bufferedwriter,我尝试将一些整数写入文本文件,每行只输入一个值,因此使用BufferedWriter try (BufferedWriter writer = new BufferedWriter(new OutputStreamWriter( new FileOutputStream("filename.txt"), "utf-8"))) { writer.write(board.Player1.money); wr

我尝试将一些整数写入文本文件,每行只输入一个值,因此使用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这样的值,但我在文本文件中看到以下几行

Ǵ
ಀ
ಀ
ಀ
这是为什么?

带整数的write(int c)需要一个字符。 考虑使用写(String S,int OFF,int LIN),或一些包装器,如PrimTrrter

< P> >(INTC),用整数表示字符。 考虑使用写(String S,int Of,int LeN),或一些包装器,如PrimTrrItter < /P> < P> <代码>写(…)>代码>方法>代码> BuffeDeReDebug < /C> >重载。

例如:有方法
void write(String arg)
将给定字符串写入文件,还有方法
void write(int arg)
将给定整数转换为字符,然后将字符写入文件

要解决你的问题,你必须改变

writer.write(board.Player1.position);

BufferedWriter
write(…)
方法重载

例如:有方法
void write(String arg)
将给定字符串写入文件,还有方法
void write(int arg)
将给定整数转换为字符,然后将字符写入文件

要解决你的问题,你必须改变

writer.write(board.Player1.position);


另一种方法是:

writer.write(board.Player1.money+"");   

另一种方法是:

writer.write(board.Player1.money+"");   

此外,您还可以使用StandardCharset,它为
Charset
定义常量,包括
UTF_8
StandardCharsets.UTF_8
此外,您还可以使用StandardCharsets为
Charset
定义常量,包括
UTF_8
StandardCharsets.UTF_8
如果有人有相同的问题,他们可以使用此解决方案,但我只想在每行中保存一个int值。出于我的目的,我认为写Integer.toString更好,但这个答案也是有效的。如果有人有同样的问题,这个解决方案似乎可以使用,但我只想在每行保存一个int值。就我而言,我认为写Integer.toString更好,但这个答案也是有效的。这个解决方案是可以的,但我有一个问题。当我将其保存为字符串时,它仍然会将一个整数值(在现实生活中)写入文件。因此,当我尝试读回它时,我可以直接将其放入整数数组中,还是在读回文件后应使用integer.parseInt?读回时,必须使用一些
readLine()
方法。结果字符串必须使用
Integer.parseInt(…)
解析为整数!这个解决方案还可以,但我有一个问题。当我将它保存为字符串时,它仍然会将一个整数值(在现实生活中)写入文件。因此,当我尝试读回它时,我可以直接将其放入整数数组中,还是在读回文件后应该使用integer.parseInt?读回它时,必须使用一些
readLine()
方法。结果字符串必须使用
Integer.parseInt(…)
解析为整数!我是在和你同时写的(swh)…但是在这种情况下我们应该使用Integer.parseInt。我测试了这个,它的行为是正确的。我是在和你同时写的(swh)…但是在这种情况下我们应该使用Integer.parseInt。我测试了这个,它的行为是正确的