如何在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+ 閱讀次數

開啟你的事業

透過完成課程獲得認證

開始
廣告
© . All rights reserved.