小编Cor*_*e7s的帖子

解析整个csv文件与在java中逐行解析

我有一个更大的 csv 文件,大约有 80K 到 120K 行(取决于日期)。我成功运行了使用注释将整个 csv 文件解析为 java 对象的代码@CsvBindByName。示例代码:

Reader reader = Files.newBufferedReader(Paths.get(file));
    CsvToBean csvToBean = new CsvToBeanBuilder<Object>(reader)
            .withType(MyCustomClass.class)
            .withIgnoreLeadingWhiteSpace(true)
            .build(); 
    List<MyCustomClass> myCustomClass= csvToBean.parse();`
Run Code Online (Sandbox Code Playgroud)

我想更改此代码以逐行解析 csv 文件而不是整个文件,但保留映射到 java bean 对象的整洁性。本质上是这样的:

    CSVReader csvReader = new CSVReader(Files.newBufferedReader(Paths.get(csvFileLoc)));
    String[] headerRow = csvReader.readNext(); // save the headerRow
    String [] nextLine = null;
    MyCustomClass myCustomClass = new MyCustomClass(); 
    while ((nextLine = csvReader.readNext())!=null) {
                    myCustomClass.setField1(nextLine[0]);
                    myCustomClass.setField2(nextLine[1]);
                    //.... so on 
                }
Run Code Online (Sandbox Code Playgroud)

但上述解决方案使我必须了解每个字段的列位置。我想要的是根据标题行映射从 csv 获取的字符串数组,类似于 opencsv 在解析整个 csv 文件时所做的操作。但是,据我所知,我无法使用 opencsv 来做到这一点。我原以为这将是一种非常常见的做法,但我无法在网上找到任何对此的参考。可能是我没有CsvToBean正确理解 opencsv …

java csv parsing javabeans

4
推荐指数
1
解决办法
3824
查看次数

ical解析器android

我正试图将我的谷歌日历中的事件拉到列表视图中(最有可能).我能够访问.ics文件但是当我在文本编辑器中打开文件时,我看到了UID CREATED LASTMODIFIED很多其他标签.事件的描述并不真实可见,并且与标签相对应的信息DTSTART不可读.我想知道我要阅读/做些什么来进一步了解它以便我能理解它?还有一个链接或东西,我可以理解这些标签的意思 - 现在它几乎猜测工作?

java icalendar android calendar

3
推荐指数
1
解决办法
3069
查看次数

标签 统计

java ×2

android ×1

calendar ×1

csv ×1

icalendar ×1

javabeans ×1

parsing ×1