阅读和存储文本。文件内容在arraylist中

时间:2012-05-21 18:07:11

标签: java arrays text

我有一个.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

全部在一行中,1984年为一年,一个月为一个月,其他值为相应的几个月。我希望将每一行(理想情况下,每个变量)存储在一个不同的插槽中,以便通过索引轻松访问它。

我编写了这段代码,以便读入文件并将变量存储在数组列表中,因为我不确定所需数组的大小。

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) {
        }
    }
}

我收到错误消息。有人能告诉我我的代码有什么问题吗?

1 个答案:

答案 0 :(得分:1)

尝试使用

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

查看输出。数组上的ToString不会产生任何有用的东西

假设您的数据点由空格分隔,您可以尝试使用此行解析它们

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

+表示前面有一个或多个符号出现(\ s是空格的简写,见Regular Expressions in Java