我正在尝试从数字向文件写入二维数组,但是它仅将(SOH)写入1,(ENO)写入5,将空白写入0(NUL)。 我收到了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");
}
}
如果可能,我想将数字写入文件。
答案 0 :(得分:8)
您正在呼叫Writer.write(int)
,它将单个字符写入编写器。
如果要使用数字的字符串表示形式,则需要确保先转换为字符串并调用Writer.write(String)
。最简单的方法是调用String.valueOf
进行转换:
writer.write(String.valueOf(array[i][j]));