打开csv集合和连续数组

时间:2011-06-27 13:27:56

标签: java parsing csv opencsv

我不太明白,例如在opencsv网站上如何在这里使用集合List,例如:

CSVReader reader = new CSVReader(new FileReader("yourfile.csv"));**
List myEntries = reader.readAll();**

我尝试访问列表的成员,例如System.out.println(myEntries.get(2)),但它给了我类似d1e604的内容,当我测试元素是否存在时

boolean b = myEntries.contains("the element");** and it returns false.

访问标记化字符串需要做什么?

通过使用readNext(),元素由“\ n”分隔,我想以连续的no分配元素。数组。

while((tokened = reader.readNext()) != null){
    int numOfArray = tokened.length;
    System.out.println("number of items:"+ numOfArray) ;
    for (int i = 0;i < numOfArray;i++) {
    System.out.println("     tokenNo[" + i + "]:  " + tokened[i]);

   }
 }

2 个答案:

答案 0 :(得分:1)

我想你错过了一个关于CSV的事实。 CSV是关于行和列的。 readNext()返回表示一行的字符串数组。所以我猜,readAll()返回一个string []列表。

答案 1 :(得分:1)

List myEntries的每个元素都是String []。 即,这是一个String数组。 这意味着你需要演员。

String[] entry = (String[]) myEntries.get(2);

另外 -

System.out.println(myEntries.get(2)) but it gives me something like d1e604.

那是因为没有正确覆盖toString方法。这是在Object类中实现的toString方法的默认行为。