我不太理解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]);
}
}
我想您错过了关于CSV的一个小事实。CSV是关于行和列的。CCD_ 3返回表示一行的字符串数组。所以我猜,readAll()返回一个字符串[]的列表。
ListmyEntries的每个元素都是String[]。即,那是字符串的数组。这意味着你需要一个演员阵容。
String[] entry = (String[]) myEntries.get(2);
此外-
System.out.println(myEntries.get(2)) but it gives me something like d1e604.
这是因为toString方法没有被正确地重写。这是在Object类中实现的toString方法的默认行为。