2016-12-09 7 views
2

以下のようなテキストファイルを2D配列に保存しようとしています。テキストファイルを2D配列に入れよう

24 
7 
1 6 
7 15 
13 17 
9 23 
10 21 
13 19 

これは私が保存しなければならないコードです。構文エラーはありませんが、私はそれを私の配列に格納するように見えません。私はちょうど私の配列にこれを単に格納する方法を理解する必要があります。

 FileInputStream fStream = new FileInputStream(file); 
     BufferedReader input = new BufferedReader(new InputStreamReader(fStream)); 
     Scanner src = new Scanner(input); 
     ArrayList<Integer> lines = new ArrayList<Integer>(); 
     src.useDelimiter(" "); 

     while(src.hasNextInt()) { 
      lines.add(src.nextInt()); 
     } 
     int[][] fileArray = new int[lines.size()][]; 
     lines.toArray(fileArray); 

-Thanksマイクは

+1

どのようにロジックの変更について試してみてください。各行を文字列として読み込み、 '' "を使って値をintに変換し、配列に追加します。 –

答えて

2

が、これは

FileInputStream fStream = new FileInputStream(file); 
    BufferedReader input = new BufferedReader(new InputStreamReader(fStream)); 
    Scanner src = new Scanner(input); 
    ArrayList<ArrayList<Integer>> board = new ArrayList<>(); 

    while(src.hasNextLine()) 
    { 
     String[] line = src.nextLine().split("\\s+"); 
     board.add(new ArrayList<Integer>()); 
     for(String num : line) 
     { 
      if(num.matches("\\d+")) 
       board.get(board.size() - 1).add(Integer.parseInt(num)); 
     } 
    } 

    for(int i = 0; i < board.size(); i++) 
    { 
     for(int j = 0; j < board.get(i).size(); j++) 
      System.out.print(board.get(i).get(j) + " "); 

     System.out.println(); 
    } 
+0

ありがとう!これは、私が修正しなければならなかった唯一のものは、複数の数字を使用した数字のために\\ dから\\ d +になることでした。 –

+0

もっと良いロジック –

関連する問題