问题:在使用java将数组内元素导出到txt文件中使用了Filewriter.write,发现数组每一行最后一个元素总是写不进去(或者乱码)
解决方法:需要使用Integer.toString方法将数组元素类型转换,如下面代码
File fr = new File("src/P1/txt/6.txt");
try {
FileWriter fw = new FileWriter(fr);
for (i = 0; i < n; i++) {//遍历行
for (j = 0; j < n; j++) {//遍历列
if (j != n - 1) {
fw.write(magic[i][j] + "\t");//输出数组元素
} else if (j == n - 1 && i != n - 1) {
fw.write(magic[i][j] + "\n");
}else if(j==n-1&&i==n-1){
fw.write(Integer.toString(magic[i][j]));//要类型转换!
}
}
}
fw.close();
} catch (IOException e) {
e.printStackTrace();
System.out.println("写入错误");
}
原因:Filewriter写入的是字符串类型,如果你的元素和字符一起输出则会自动给转换为str,不然需要人工转换为str。