package com.github.ryhmrt.mssqldiff.csv; import java.io.FileInputStream; import java.io.InputStream; import java.io.InputStreamReader; import java.util.List; import au.com.bytecode.opencsv.CSVReader; import au.com.bytecode.opencsv.bean.ColumnPositionMappingStrategy; import au.com.bytecode.opencsv.bean.CsvToBean; public class SchemaCsvReaderFileImpl { private String path; public SchemaCsvReaderFileImpl(String path) { this.path = path; } public List<SchemaCsv> read() { try { InputStream input = new FileInputStream(path); InputStreamReader ireader=new InputStreamReader(input, "UTF-8"); CSVReader reader = new CSVReader(ireader,',','"',1); ColumnPositionMappingStrategy<SchemaCsv> strat = new ColumnPositionMappingStrategy<SchemaCsv>(); strat.setType(SchemaCsv.class); strat.setColumnMapping(SchemaCsv.COLUMNS); CsvToBean<SchemaCsv> csv = new CsvToBean<SchemaCsv>(); return csv.parse(strat, reader); } catch (Exception e) { throw new RuntimeException(e); } } }