从 txt 中读取一个 2D arraylist
Read from txt a 2D arraylist
我有这个二维数组列表,我想从我的 txt 文件中读取它
使用缓冲区 Reader(Java) 。有什么帮助吗?
//我的带整数的二维数组列表
1 2
3 4
5 6
7 8
9 10
11 12
您的输入是一维数组,因此要将其作为二维数组读取 - 您必须提供(或从某处获取)生成的二维数组的宽度 and/or 高度。
示例如下:
// Prepare memory for the output
int width=4;
int height=3;
int[][] d2 = new int[height][width];
try {
BufferedReader br = new BufferedReader(new FileReader("test.txt"));
String fileContent = "";
String line;
while ((line = br.readLine()) != null) {
fileContent += line + " ";
}
String ints[] = fileContent.split("\p{javaWhitespace}+");
for(int i=0;i<height;i++) {
for (int j = 0; j < width; j++) {
if((i * width + j) >= ints.length) throw new RuntimeException("Not enough ints :-(");
d2[i][j] = Integer.parseInt(ints[i * width + j]);
}
}
} catch (Exception e) {
e.printStackTrace();
}
/// Now you have the 2d_array in d2!
我有这个二维数组列表,我想从我的 txt 文件中读取它 使用缓冲区 Reader(Java) 。有什么帮助吗?
//我的带整数的二维数组列表 1 2 3 4 5 6 7 8 9 10 11 12
您的输入是一维数组,因此要将其作为二维数组读取 - 您必须提供(或从某处获取)生成的二维数组的宽度 and/or 高度。
示例如下:
// Prepare memory for the output
int width=4;
int height=3;
int[][] d2 = new int[height][width];
try {
BufferedReader br = new BufferedReader(new FileReader("test.txt"));
String fileContent = "";
String line;
while ((line = br.readLine()) != null) {
fileContent += line + " ";
}
String ints[] = fileContent.split("\p{javaWhitespace}+");
for(int i=0;i<height;i++) {
for (int j = 0; j < width; j++) {
if((i * width + j) >= ints.length) throw new RuntimeException("Not enough ints :-(");
d2[i][j] = Integer.parseInt(ints[i * width + j]);
}
}
} catch (Exception e) {
e.printStackTrace();
}
/// Now you have the 2d_array in d2!