use*_*555 -3 java file-io parsing split readfile
我有一些带有时间信息的文本文件,例如:
46321882696937;46322241663603;358966666
46325844895266;46326074026933;229131667
46417974251902;46418206896898;232644996
46422760835237;46423223321897;462486660
Run Code Online (Sandbox Code Playgroud)
现在,我需要文件的第三列来计算平均值.
我怎样才能做到这一点?我需要获取每个文本行,然后获取最后一列?
Rod*_*aki 12
您可以使用BufferedReader或Scanner或甚至其他技术逐行读取文件.使用扫描仪非常简单,如下所示:
public void read(File file) throws IOException{
Scanner scanner = new Scanner(file);
while(scanner.hasNext()){
System.out.println(scanner.nextLine());
}
}
Run Code Online (Sandbox Code Playgroud)
要使用已定义的分隔符拆分String,可以使用split方法,它接收正则表达式作为参数,并使用与该表达式匹配的所有字符序列拆分String.在你的情况下它很简单,只是;
String[] matches = myString.split(";");
Run Code Online (Sandbox Code Playgroud)
如果你想获得数组的最后一项,你可以使用它length作为参数.记住数组的最后一项始终在索引中length - 1
String lastItem = matches[matches.length - 1];
Run Code Online (Sandbox Code Playgroud)
如果你加入所有这些,你可以得到这样的东西:
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);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
41898 次 |
| 最近记录: |