2017-03-17 58 views
-1

我在特定文件中有n個cols和m個行我怎麼能但每個列都在不同的數組中? *行列數的數量是可變讀取數據並將每個列存儲在不同的數組中

 String readline = null; 
     readline = read.readLine(); 
     String[] getlength = readline.split(" "); 
     cols = getlength.length; 

     while (readline != null) { 
      readline = read.readLine(); 
      rows++; 
     } 
     // Array of data 
     int[][] data = new int[rows][cols]; 
     // New bufferedReader to put the cursor on the top of the file 
     read = new BufferedReader(new FileReader("1.txt")); 
     // for loop to skip first three rows 
     for (int i = 1; i <= 3; i++) { 
      read.readLine(); 
     } 

     // to set the file Data into the array 
     String line = null; 
     line = read.readLine(); 
     do { 

      readData = line.split(" "); 

      for (int j = 0; j < readData.length; j++) { 
       data[indexx][j] = Integer.parseInt(readData[j]); 
      } 

      indexx++; 
      line = read.readLine(); 
     } while (line != null); 

回答

0

如果你不知道表中你正在閱讀的你應該使用一個ArrayList列數。一種可能的方式是:

[...] 
ArrayList result = new ArrayList<int[]>(); 
line = read.readLine(); 
do { 
    readData = line.split(" "); 
    int[] row = new int[readData.length]; 
    for(int i = 0; i < readData.length; i++) { 
    row[i] = Integer.parseInt(readData[i]); 
    } 
    result.add(row); 
} while (line != null); 

現在,如果你需要你的結果作爲一個數組,你可以做下面的轉換:

int[] data = result.toArray(new int[result.size()]); 
相關問題