Как использовать opencsv с моей коллекцией (списком)? - PullRequest
1 голос
/ 17 февраля 2010

Мне нужно проанализировать двухмерный список, вот мой список схем:

list (size=12) 
->[0] = "export.SampleJ:12432"  
   --> id = 12432  
   --> dateCreatedSample = "Tue Feb 03 19:04:23 CST 2009"  
   --> ttId = 0  
   --> chipId = 1012  
   --> ...  
->[1] = "export.SampleJ:12433"
   --> id = 12433
   --> ...
->[2] ...

Я пытался:

 List<String[]> allElements = list.readAll();
 StringWriter sw = new StringWriter();
 CSVWriter writer = new CSVWriter(sw);
 writer.writeAll(allElements);

но у меня есть эта ошибка: Нет сигнатуры метода: java.util.ArrayList.readAll () применим для типов аргументов: () значения: []

Также пробовал:

 CSVWriter writer = new CSVWriter(new FileWriter("MyFile.csv"));
 String[] entries = list;
 writer.writeNext(entries);
 writer.close();

Я получаю CSV-файл, но только с: "export.SampleJ: 12432", "export.SampleJ: 12432", ...

Как я могу разобрать id, dateCreatedSample и т. Д.?

Есть ли способ напрямую связать мой список с opencsv?

Ответы [ 2 ]

2 голосов
/ 17 февраля 2010

Вам нужно добавить метод к SampleJ, чтобы преобразовать его в String[], например

class SampleJ {
    // ...
    public String[] toStringArray =
        Arrays.asList(String.valueOf(getId()),
                      String.valueOf(getDateCreatedSample()),
                      String.valueOf(getTtId()),
                      String.valueOf(getChipId()));
}

затем цикл для записи всех строк, например

for (SampleJ elem: list) {
    writer.writeNext(elem.toStringArray());
}
0 голосов
/ 17 февраля 2010

Вы можете использовать методы writer.writeAll (list) и reader.readAll (). Я не вижу смысла, почему это не должно работать.

Редактировать: игнорировать этот пост. Я был слишком сонным, чтобы увидеть эти два измерения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...