0

我不太明白 opencsv 网站上给出的关于如何在此处使用集合的列表,例如:

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”分隔,我想以连续编号分配元素。的数组。

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]);

   }
 }
4

2 回答 2

1

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

于 2011-06-27T13:35:01.347 回答
1

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

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

还 -

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

That's because the toString method is not properly overridden. That's the default behavior of the toString method as implemented in the Object class.

于 2011-06-27T13:36:45.103 回答