读取和拆分文本文件(java)
我有一些带有时间信息的文本文件,例如:
46321882696937;46322241663603;35896666646325844895266;46326074026933;229131667
46417974251902;46418206896898;232644996
46422760835237;46423223321897;462486660
现在,我需要文件的第三列来计算平均值。
我怎样才能做到这一点?我需要获取所有文本行,然后获取最后一列?
回答:
您可以阅读通过线使用的文件中的行BufferedReader
或Scanner
,甚至一些其他techinique。使用扫描仪非常简单,如下所示:
public void read(File file) throws IOException{ Scanner scanner = new Scanner(file);
while(scanner.hasNext()){
System.out.println(scanner.nextLine());
}
}
要使用定义的分隔符分割字符串,可以使用split方法,该方法将正则表达式作为参数,并按与该表达式匹配的所有字符序列分割字符串。就您而言,这很简单,;
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);
}
}
以上是 读取和拆分文本文件(java) 的全部内容, 来源链接: utcz.com/qa/413506.html