如何从文本文件中读取特定列并计算此列的平均值?

时间:2016-02-21 12:37:00

标签: java arrays file

我对目前正在进行的java练习感到困惑。我有一个这种格式的文本文件:

Quio Kla,2221,3.6 Wow Pow,3332,9.3 邹头,5556,9.7 Flo Po,8766,8.1 Andy Candy,3339,6.8

我现在想要计算整个第三列的平均值,但我必须首先提取数据并将其存储在数组中。我能够使用缓冲读取器读取所有数据并在控制台中打印出整个文件,但这并没有让我更接近将其放入数组中。关于如何在带有缓冲读取器的文本文件的特定列中读取数据的任何建议都将受到高度赞赏。

非常感谢你。

3 个答案:

答案 0 :(得分:0)

您可以使用以下代码部分拆分文本文件:

BufferedReader in = null;
try {
in = new BufferedReader(new FileReader("textfile.txt"));
String read = null;
    while ((read = in.readLine()) != null) {
        String[] splited = read.split(",");
        for (String part : splited) {
            System.out.println(part);
        }
    }
} catch (IOException e) {
System.out.println("There was a problem: " + e);
e.printStackTrace();
} finally {
    try {
        in.close();
    } catch (Exception e) {
    }
}

然后,您将在数组part中拥有所有列。

答案 1 :(得分:0)

它绝对不是最好的解决方案,但应该足够你了

UIScreen.mainScreen().scale

答案 2 :(得分:0)

我将假设每个数据集都由文本文件中的换行符分隔。

ArrayList<Double> thirdColumn = new ArrayList<>();
BufferedReader in = null;
String line=null;

//initialize your reader here

while ((line = in.readLine())!=null){

    String[] split = line.split(",");

    if (split.length>2)
        thirdColumn.add(Double.parseDouble(split[2]));
}

在while循环结束时,您应准备好thirdColumn ArrayList并填充所需的数据。

假设您的数据集具有以下标准格式。

字符串,整数,双

因此,逗号的分割应该给出一个长度为3的String数组,其中索引2处的String包含第三列数据。