我只想在文本文件中输入矩阵,但结果明显不同。我没有任何想法。public void saveToTextFile() { try { BufferedWriter writer = new BufferedWriter(new FileWriter(new File("matrix.txt"))); for (int i = 0; i < matrix.length; i++) { for (int j = 0; j < matrix[i].length; j++) { writer.write(matrix[i][j] + " "); } writer.newLine(); } writer.flush(); writer.close(); } catch (IOException e) { System.out.println("Error"); }}我预计1 2 34 5 67 8 9但在文件中1 1 15 5 59 9 9
2 回答
慕容3067478
TA贡献1773条经验 获得超3个赞
你可以试试这个:
int[][] ints = new int[4][4]; // Let's say you have a 4 * 4 ints array filled like this ints[0][0] = 1; ints[0][1] = 2; ints[0][2] = 3; ints[0][3] = 4; ints[1][0] = 5; ints[1][1] = 6; ints[1][2] = 7; ints[1][3] = 8; ints[2][0] = 9; ints[2][1] = 10; ints[2][2] = 11; ints[2][3] = 12; ints[3][0] = 13; ints[3][1] = 14; ints[3][2] = 15; ints[3][3] = 16; StringBuilder sb = new StringBuilder(); // String Builder to create the table structure before writing it to the file. for (int[] int1 : ints) { for (int j = 0; j < int1.length; j++) { sb.append(int1[j]).append("\t"); // Add tab to delimite the elements } sb.append("\r\n"); // Add new line character } System.out.println(sb); Path path = Paths.get("C:\\Users\\youruser\\Documents\\test.txt"); // The path to your file Files.write(path, sb.toString().getBytes()); // Writes to that path the bytes in the string from the stringBuilder object.
这将打印像表格的值:
繁星淼淼
TA贡献1775条经验 获得超11个赞
对您的方法进行轻微修改:
try {
int[][] matrix = new int[3][3];
BufferedWriter writer = new BufferedWriter(new FileWriter(new File("matrix.txt")));
int num = 1;
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[i].length; j++) {
writer.write(num + " ");
num++;
}
writer.newLine();
}
writer.flush();
writer.close();
} catch (Exception e) {
System.out.println("Error");
}
添加回答
举报
0/150
提交
取消