java Univocity解析器处理具有奇怪结构的行
我正试图找出使用University parser处理CSV日志文件的最佳方法,如下所示
“23.62.3.74”,80,“testUserName”,147653,“日志收集设备100”,“31/02/15 00:05:10 GMT”,-1,“10.37.255.3”,“TCP”,“目的地ip=192.62.3.74 |产品id=0071 |选项1 |类型=(s-dns)|代理机器ip=10.1.255.3”
如您所见,这是一个以逗号分隔的文件,但最后一列中有一堆以字段名为前缀的值。我的要求是从普通字段和 有选择地从这最后一个大领域
我知道Univocity的主明细行处理器,但我怀疑这是否属于该类别。你能告诉我正确的方向吗
注意:如果我实现了一个行处理器,我可以处理rowProcessed(String[] row, ParsingContext context)
中的名称前缀字段,但是如果可能的话,我正在寻找Univocity的原生内容
谢谢, R
# 1 楼答案
解析器中没有任何本机的功能。也许最简单的方法就是像你提到的那样拥有
RowProcessor
为了让生活更轻松,您可以尝试使用CsvParser的另一个实例来解析最后一条记录:
这不会非常快,但如果输入可以有随机的列名和与之关联的值,那么使用映射至少很容易