gpt4 book ai didi

java - 使用 CSVParser/CSVStrategy 解析文件时如何检测 "disable"注释 (Apache Commons)

转载 作者:行者123 更新时间:2023-12-02 07:59:01 25 4
gpt4 key购买 nike

在 Java 程序中,我需要解析 CSV 文件。那里没有什么特别不寻常的地方。我使用的实现是 Apache Commons 的 CSVParser ,女巫现在使用 CSVStrategy作为定义 CSV 方言的参数。

问题是,我需要删除在输入文件中查找注释的选项。输入文件应该没有注释,并且每个字符(当然 ; 除外)都应该保留并被认为是有意义的。特别是,标准的 # 字符不应该是注释。

这是我迄今为止使用的代码(正如预期的那样,这会导致 # 出现问题):

fRead = new FileReader(someFilePath);
data = new CSVParser(fRead, new CSVStrategy(';', '"', '#')).getAllValues();

CSVStrategy 构造函数的第三个参数是 char,因此它不能为 null

有趣的是 CSVStrategy 中存在静态字符 COMMENTS_DISABLED 和方法 isCommentingDisabled(),但没有类似的 setter 。

CSVParser 有一个构造函数,仅使用读取器和分隔符作为参数,而不使用 CSVStrategy,但已弃用。所以我认为有一种方法可以使用 CSVStrategy 实现类似的功能?

最佳答案

快速查看 source code ,似乎您可以像这样使用 CSVStrategy 构造函数:

data = new CSVParser(fRead, new CSVStrategy(';', '"', CSVStrategy.COMMENTS_DISABLED)).getAllValues();

关于java - 使用 CSVParser/CSVStrategy 解析文件时如何检测 "disable"注释 (Apache Commons),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9193965/

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