открытая коллекция csv и непрерывный массив - PullRequest
0 голосов
/ 27 июня 2011

Я не совсем понимаю по данным, например, на сайте 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]);

   }
 }

Ответы [ 2 ]

1 голос
/ 27 июня 2011

Каждый элемент вашего списка myEntries является строкой []. это массив строк. это означает, что вам нужен актерский состав.

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

Также -

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

Это потому, что метод toString не переопределен должным образом. Это поведение по умолчанию метода toString, реализованное в классе Object.

1 голос
/ 27 июня 2011

Я думаю, вы пропустили небольшой факт о CSV. CSV - это строки и столбцы. readNext() возвращает массив строк, представляющих строку. Так что я думаю, readAll () возвращает список строк [].

...