我有一些文本文件的时间信息,如:读和拆分的文本文件(JAVA)
46321882696937;46322241663603;358966666
46325844895266;46326074026933;229131667
46417974251902;46418206896898;232644996
46422760835237;46423223321897;462486660
现在,我需要的文件的第三列,计算平均值。
我该怎么做?我需要获取每个文本行,然后获取最后一列?
我有一些文本文件的时间信息,如:读和拆分的文本文件(JAVA)
46321882696937;46322241663603;358966666
46325844895266;46326074026933;229131667
46417974251902;46418206896898;232644996
46422760835237;46423223321897;462486660
现在,我需要的文件的第三列,计算平均值。
我该怎么做?我需要获取每个文本行,然后获取最后一列?
您可以使用BufferedReader
或Scanner
或者其他一些技术来逐行读取文件。使用扫描仪是非常简单的,就像这样:
public void read(File file) throws IOException{
Scanner scanner = new Scanner(file);
while(scanner.hasNext()){
System.out.println(scanner.nextLine());
}
}
对于分割字符串与定义的分隔符,你可以使用拆分法,即recevies正则表达式作为参数,并通过所有的字符序列将字符串分割那符合那个表达。在你的情况下,它很简单,只需将;
String[] matches = myString.split(";");
如果你想获得一个数组的最后一个项目你可以使用它作为length
参数。记住,数组的最后一个项目总是在指数length - 1
String lastItem = matches[matches.length - 1];
如果你加入所有一起,你可以得到这样的事情:
public void read(File file) throws IOException{
Scanner scanner = new Scanner(file);
while(scanner.hasNext()){
String[] tokens = scanner.nextLine().split(";");
String last = tokens[tokens.length - 1];
System.out.println(last);
}
}
您可以最后将变量强制转换为Integer.valueOf(last)的整数并将所有值一起添加。 – 2013-04-09 13:32:47
是的,你必须阅读文件的每一行,并用“;”分隔它。分隔符并读取第三个元素。
好了,你有三个任务这里:逐行读取文件;解析每一行;计算平均值。每个任务有多远? – 2013-04-09 13:24:22
你有一些代码给我们吗? – 2013-04-09 13:24:27