如何在Java中从文件中读取2D数组?
2d数组是一维数组的一个数组,用于将文件的文本内容读入一个2d数组中——
- 实例化Scanner或者其他相关类来读取文件中的数据。
- 创建一个用于存储内容的数组。
- 为了复制内容,你需要两个循环,其中一个循环嵌套在另一个循环里。外层循环将遍历一维数组的数组,而内层循环将遍历具体一维数组的元素。
- 创建一个从0开始到数组长度的外层循环。在此循环中读取每一行,调用 nextLine()、trim()和split()方法进行trim和分割操作。
- 创建一个从0开始到行长度的第二层循环。在此循环中将字符串数组的每一个元素转换成整数,并赋给前一步创建的数组。
示例
import java.io.BufferedReader; import java.io.FileReader; import java.util.Arrays; import java.util.Scanner; public class Reading2DArrayFromFile { public static void main(String args[]) throws Exception { Scanner sc = new Scanner(new BufferedReader(new FileReader("sample.txt"))); int rows = 4; int columns = 4; int [][] myArray = new int[rows][columns]; while(sc.hasNextLine()) { for (int i=0; i<myArray.length; i++) { String[] line = sc.nextLine().trim().split(" "); for (int j=0; j<line.length; j++) { myArray[i][j] = Integer.parseInt(line[j]); } } } System.out.println(Arrays.deepToString(myArray)); } }
输出
[[2, 2, 2, 2], [6, 6, 6, 6], [2, 2, 2, 2], [4, 4, 4, 4]]
广告