0

.txt ファイルがあり、それを読み込んで、その内容を配列リストとして保存したいと考えています。.txt ファイルのデータは次のようになります。

1984      1   0.20  25.10   4.40  11.20   0.60   4.80   0.10   0.00   5.90  22.50   5.90  12.70   6.00   3.80   0.60  10.70   4.20   0.00   0.00   0.00   7.90   4.00  23.70   3.20   5.80   3.00   0.60   6.00   1.70   7.50   1.20

すべて 1 行で、年は 1984、月は 1、月のそれぞれの日はその他の値です。インデックスで簡単にアクセスできるように、各行 (理想的には各変数) を別のスロットに格納したいと考えています。

必要な配列のサイズがわからないため、ファイルを読み取って変数を配列リストに格納するために、このコードを作成しました。

import java.io.*;
import java.util.*;

public class reader {
    public static void main(String[] args) {
        try {
            BufferedReader reader = new BufferedReader(new FileReader(
                    "2RainfallDataLanc.txt"));
            String line = null;
            ArrayList<String[]> rows = new ArrayList<String[]>();
            while ((line = reader.readLine()) != null) {
                String[] row = line.split("/t");
                rows.add(row);
            }
            System.out.println(rows.toString());
        } catch (IOException e) {
        }
    }
}

エラー メッセージが表示されます。誰かが私のコードの何が問題なのか教えてください。

4

1 に答える 1

1

使ってみてください

for (String[] row : rows) {
    System.out.println(Arrays.toString(row));
}

出力を確認します。配列のToStringは、有用なものを何も生成しません

データポイントが空白で区切られていると仮定すると、この行でそれらを解析してみることができます

String[] row = line.split("\\s+");

+は、その前にある記号が1回以上出現することを意味します(\ sは空白の省略形です。Javaの正規表現を参照してください) 。

于 2012-05-21T18:31:21.720 に答える