请帮我理解这行代码

时间:2014-10-30 18:37:15

标签: java object csv io

CSVParser csvParser = null;
String csvFilename = "C:\\Users\\ITEM.txt20141022";


csvParser = new CSVParser(new BufferedReader(new FileReader(csvFilename)), CSVFormat.newFormat('|'));

根据我的理解算法:

  1. 将FileReader对象传递给BufferedReader构造函数。
  2. 将BufferedReader对象传递给CSVParser构造函数。这将是传递给csvParser的两个参数之一?
  3. 第二个csvParser参数是CSVFormat.newFormat('|')
  4. 这行是否会被视为传递给csvParser对象的两个参数?然后在csvParser构造函数中使用这两个参数?我查看了javadocs并且无法理解所有这些部分如何组合在一起来实例化CSVParser。你怎么知道这首先是可能的?我已经花了几个星期的初学java课程,我从来没有见过这样的东西。有人可以向我解释这条线是如何工作的,就好像你和一个5岁的孩子说话一样。

2 个答案:

答案 0 :(得分:2)

你说得对,就像我说的那样。

这个程序员调用构造函数来代替声明正确类型的对象,实例化放入对象变量的对象,然后使用变量。它也可以写成:

CSVFormat format = CSVFormat.newFormat('|');
FileReader reader = new FileREader(csvFilename);
BufferedReader bReader = new BufferedReader(reader);
CSVParser parser = new CSVParser(bReader, format);

我假设第一个方法调用返回的类型。

希望更清楚。这就是我写它的方式......

答案 1 :(得分:0)

CSVParser构造函数采用如下两个参数:

CSVParser(Reader reader, CSVFormat format)

现在仔细按照代码,应该很容易理解,照顾括号