BufferedWriter 写 sumbols 而不是数字是有原因的吗?
Is there a reason why the BufferedWriter writes sumbols instead of numbers?
我正在尝试将数字的二维数组写入文件,但它只为 1 写入 (SOH),为 5 写入 (ENO),为 0(NUL) 写入空白 space。
我从 NotePad++
收到了那些信件
int[][] array= new int[][]
{
{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
{ 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
{ 1, 0, 0, 0, 5, 0, 0, 0, 0, 1 },
{ 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
};
String level = "Level.txt";
try (BufferedWriter writer = Files.newBufferedWriter(Paths.get(level))) {
for(int i=0;i<masiv1.length;i++)
{
for(int j=0;j<array[i].length;j++)
{
writer.write(array[i][j]);
}
writer.write("\n");
}
}
如果可能,我想将数字写入文件。
您正在调用 Writer.write(int)
,它将单个字符写入写入器。
如果您想要数字的字符串表示,您需要确保先转换为字符串并调用Writer.write(String)
。最简单的方法是调用 String.valueOf
来执行转换:
writer.write(String.valueOf(array[i][j]));
我正在尝试将数字的二维数组写入文件,但它只为 1 写入 (SOH),为 5 写入 (ENO),为 0(NUL) 写入空白 space。 我从 NotePad++
收到了那些信件 int[][] array= new int[][]
{
{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
{ 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
{ 1, 0, 0, 0, 5, 0, 0, 0, 0, 1 },
{ 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
};
String level = "Level.txt";
try (BufferedWriter writer = Files.newBufferedWriter(Paths.get(level))) {
for(int i=0;i<masiv1.length;i++)
{
for(int j=0;j<array[i].length;j++)
{
writer.write(array[i][j]);
}
writer.write("\n");
}
}
如果可能,我想将数字写入文件。
您正在调用 Writer.write(int)
,它将单个字符写入写入器。
如果您想要数字的字符串表示,您需要确保先转换为字符串并调用Writer.write(String)
。最简单的方法是调用 String.valueOf
来执行转换:
writer.write(String.valueOf(array[i][j]));