Java创建report0504类并在这里创建文本文件数据的读写 从文本文件1.in中读取一个整数矩阵,并将读入的数组输出到文件1.out中,输入样例如下: 3 4 11 12 13 14 21 22 23 24 31 32 33 34 2 3 10 11 12 20 21 22 0 0 第一行3 4表示将要读入3行4列的矩阵,接下来的3行为矩阵内容,最后一行的0 0表示结束,则输出到1.out中的结果为: 11 12 13 14 21 22 23 24 31 32 33 34 10 11 12 20 21 22
时间: 2024-02-12 19:05:58 浏览: 114
好的,这是Java代码实现文本文件数据的读写:
```
import java.io.*;
public class report0504 {
public static void main(String[] args) {
String inputFile = "1.in";
String outputFile = "1.out";
int[][] matrix = readMatrix(inputFile);
writeMatrix(outputFile, matrix);
}
public static int[][] readMatrix(String inputFile) {
int[][] matrix = null;
try {
BufferedReader reader = new BufferedReader(new FileReader(inputFile));
String line = reader.readLine();
String[] parts = line.split(" ");
int rows = Integer.parseInt(parts[0]);
int cols = Integer.parseInt(parts[1]);
matrix = new int[rows][cols];
int rowIndex = 0;
while ((line = reader.readLine()) != null) {
parts = line.split(" ");
for (int colIndex = 0; colIndex < cols; colIndex++) {
matrix[rowIndex][colIndex] = Integer.parseInt(parts[colIndex]);
}
rowIndex++;
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
return matrix;
}
public static void writeMatrix(String outputFile, int[][] matrix) {
try {
BufferedWriter writer = new BufferedWriter(new FileWriter(outputFile));
for (int[] row : matrix) {
for (int col : row) {
writer.write(col + " ");
}
writer.newLine();
}
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在这个实现中,我们使用了Java中的FileReader和FileWriter对文件进行读写,使用了BufferedReader和BufferedWriter来提高IO效率,同时使用了split方法来将字符串按照空格切分成字符串数组。其中readMatrix方法会返回一个二维数组,而writeMatrix方法则将二维数组写入到指定的文件中。
阅读全文