如何在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]]

更新于: 2020-02-19

10K+ 阅读次数

开启你的事业

通过完成课程获得认证

开始
广告