我应该使用什么结构化数据对象来处理.txt中的数据?

时间:2016-09-16 18:26:34

标签: java arrays string data-structures

我有一点问题,我需要读取一个存储SQL查询结果的.txt文件。

文件.txt文件具有以下结构

GMM-1473879866   |  212349876543 |   -150 | 14-SEP-16 03.04.26.000000 PM   | DebitBalance-[-150] |  212343214567 |     100 | 14-SEP-16 03.04.27.000000 PM   | Balance[150]

我主要使用PHP来处理查询结果但是现在我必须使用java,是否有任何对象,类,框架或库可以帮助我将数据存储到数组,结构中?

我希望数据结构如下所示:

1 | GMM-1473879866   |  212349876543 |   -350 | 14-SEP-16 03.04.26.000000 PM   | Balance-[-150] |  212343214567 |     100 | 14-SEP-16 03.04.27.000000 PM   | Balance[150]
2 | GMM-1812568432   |  212345634411 |   -150 | 14-SEP-16 03.25.14.000000 PM   | Balance-[-150] |  212349081123 |     0 | 14-SEP-16 03.25.15.000000 PM   | Balance[150]

是1..2 ... n某种数组“键”。

这个数据结构(即二维数组)将用于向API发送一些参数,需要为每个查询行手动执行API(通常为20 /天),因此这个小软件旨在自动化这个过程。

我无法修改或查看查询代码,因此我需要使用此文件,程序将每天自动运行。

1 个答案:

答案 0 :(得分:0)

您可以使用字符串拆分来解析每一行。每行包含由管道字符分隔的9个组,管道字符由可变数量的空白区域围绕。所以你的分割正则表达式看起来像 for (int i = index; i < current_size; i++) { cout << "array[" << i << "] = " << array[i] << endl; array[i] = array[i + 1]; } 。然后你必须逃避一些角色才能在java中工作......所以你得到"\s*|\s*"

"\\s*\\|\\s*"

就要使用的数据结构而言,您可以在单个单元格上为每个数据结构创建一个带有命名字段的自定义类。