【发布时间】:2026-02-23 04:55:02
【问题描述】:
CSVParser csvParser = null;
String csvFilename = "C:\\Users\\ITEM.txt20141022";
csvParser = new CSVParser(new BufferedReader(new FileReader(csvFilename)), CSVFormat.newFormat('|'));
据我了解的算法:
- FileReader 对象被传递给 BufferedReader 构造函数。
- BufferedReader 对象被传递给 CSVParser 构造函数。这将是传递给 csvParser 的两个参数之一吗?
- csvParser 的第二个参数是 CSVFormat.newFormat('|')
是否会将此行视为传递给 csvParser 对象的两个参数?然后在csvParser构造函数中使用这两个参数?我查看了 javadocs,但无法理解所有这些部分如何组合在一起来实例化 CSVParser。一开始你怎么知道这是可能的?我已经学习了几个星期的初学者 Java 课程,但我从未见过这样的事情。有人可以向我解释一下这条线是如何工作的,就好像你在和一个 5 岁的孩子说话一样。
【问题讨论】:
-
您会查看 CSVParser 的 javadoc 并看到它有一个构造函数接受 BufferedReader 或 Reader 作为第一个参数,并且可能是 CSVFormat(假设这是
newFormat()返回的内容)作为第二个论点。 CSVParser 有几十个不同的类,所以我们不知道您使用的是哪一个。 -
在我看来你已经明白了。这是哪个
CSVParser,来自Apache Commons 的this constructor? -
是的,我正在使用 Apache commons。我听说如果可能的话,这是推荐的。它是否正确?如果可以,请使用 apache 公共类。我得到的解释是它是经过验证的。