gpt4 book ai didi

java - 在Java中解析文本文件的最快方法

转载 作者:行者123 更新时间:2023-12-02 04:42:55 28 4
gpt4 key购买 nike

我必须解析具有以下形式的税务计算器的 txt 文件:

Name: Mary Jane
Age: 23
Status: Married
Receipts:

Id: 1
Place: Restaurant
Money Spent: 20

Id: 2
Place: Mall
Money Spent: 30

所以,到目前为止我所做的是:

public void read(File file) throws FileNotFoundException{
Scanner scanner = new Scanner(file);
String[] tokens = null;

while(scanner.hasNext()){
String line= scanner.nextLine();
tokens = line.split(":");
String lastToken = tokens[tokens.length - 1];
System.out.println(lastToken);

因此,我只想访问该文件的第二列(玛丽·简,23,已婚)到类纳税人(姓名、年龄、状态),并将收据信息访问到 Arraylist。

我想获取最后一个标记并将其保存到字符串数组中,但我不能这样做,因为我无法将字符串保存到字符串数组中。有人能帮我吗?谢谢。

最佳答案

如果您的数据是 ASCII 并且不需要字符集转换,最快的方法是使用 BufferedInputStream 并自行完成所有解析 - 找到行终止符,解析数字。不要使用 Reader,或创建字符串,或每行创建任何对象,或使用 parseInt。只需使用字节数组并查看字节即可。这有点困惑,但假设您正在编写 C 代码,它会更快。

还要考虑一下您正在创建的数据结构有多紧凑,以及您是否可以通过聪明来避免在每行创建一个对象。

关于java - 在Java中解析文本文件的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29963587/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com