【问题标题】:How to use opencsv with my collection (list)?如何在我的收藏(列表)中使用 opencsv?
【发布时间】:2010-02-17 18:16:01
【问题描述】:

我需要解析二维列表,这是我的架构列表:

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 连接起来?

【问题讨论】:

    标签: java grails collections groovy csv


    【解决方案1】:

    您需要在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());
    }
    

    【讨论】:

      猜你喜欢
      • 2012-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-13
      • 1970-01-01
      • 1970-01-01
      • 2015-08-18
      相关资源
      最近更新 更多