如何从Java中获取文件中的值并进行计算?

时间:2013-04-24 15:00:52

标签: java string file csv io

好的,所以我有这段代码来获取包含这些值的.csv文件。

Alice Jones,80,90,100,95,75,85,90,100,90,92
Bob Manfred,98,89,87,89,9,98,7,89,98,78

我想取名字然后取相应的等级并计算它们的平均值。我坚持的部分实际上是在文件中检索这些值,所以我实际上可以使用它们。我会用什么来读取字符串,以便将整数拉出来?

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

public class Grades {
public static void main(String args[]) throws IOException
{
try{
// Open the file that is the first 
// command line parameter
FileInputStream fstream = new FileInputStream("filescores.csv");


BufferedReader br = new BufferedReader(new InputStreamReader(fstream));
String strLine;
//Read File Line By Line
while ((strLine = br.readLine()) != null)   {
// Print the content on the console
System.out.println (strLine);
}
//Close the input stream
in.close();
}catch (Exception e){//Catch exception if any
System.err.println("Error: " + e.getMessage());

}
}
}

2 个答案:

答案 0 :(得分:1)

以下是应该帮助您启动的代码段。

String[] parts = strLine.split(",");
String name = parts[0];
int[] numbers = new int[parts.length - 1];
for (int i = 0; i < parts.length; i++) {
    numbers[i] = Integer.parseInt(parts[i+1]);
}

答案 1 :(得分:0)

我建议String#split将一行的值读入数组:

String[] values = strLine(",");

// debug
for (String value:values) {
   System.out.println(value);
}

索引0处的值是名称,其他数组字段包含数字作为字符串,您可以使用Integer#parseInt将它们转换为整数值。