@Override public List<T> read(InputStream is) throws Exception { List<T> elements = new ArrayList<T>(); ICsvBeanReader reader = new CsvBeanReader(new InputStreamReader(is), CsvPreference.EXCEL_PREFERENCE); try { String[] headers = mapHeaderNames(reader.getHeader(true)); T element; while ((element = reader.read(type, headers, cellProcessors)) != null) { elements.add(element); } } finally { reader.close(); } return elements; }
@Override public List<T> parse(InputStream inputStream, Class<T> clazz) { checkNotNull(inputStream, "inputStream must not be null"); checkNotNull(clazz, "clazz must not be null"); ICsvBeanReader beanReader = null; List<T> beans = new ArrayList<>(); try { beanReader = new CsvBeanReader(new InputStreamReader(inputStream, template.getCharsetName()), template.getPreferences()); if (template.showHeader()) { beanReader.getHeader(true); } // the header elements are used to map the values to the bean (names must match) final List<CellProcessor> confList = template.getReadingCellProcessors(); final CellProcessor[] processors = confList.toArray(new CellProcessor[confList.size()]); final String[] fields = template.getFields().toArray(new String[template.getFields().size()]); T bean; while ((bean = beanReader.read(clazz, fields, processors)) != null) { beans.add(bean); } } catch (Exception e) { throw SeedException.wrap(e, SuperCsvErrorCode.ERROR_DURING_SUPER_CSV_PARSING) .put(TEMPLATE, template.getName()); } finally { closeQuietly(beanReader); } return beans; }
@Override public void importStream(InputStream inputStream, OnItemHandler handler, String charSetName) throws Exception { Reader reader = new InputStreamReader(inputStream, charSetName); ICsvBeanReader csvBeanReader = new CsvBeanReader(reader, this.preference); Object obj; while ((obj = csvBeanReader.<T>read(getDataClass(), this.fieldNames, this.processors)) != null) { handler.onItem(obj); } }
@Override public List<T> parse(InputStream inputStream, Class<T> clazz) { ICsvBeanReader beanReader = null; List<T> beans = new ArrayList<T>(); // Checks params nullity SeedException.createNew(RendererErrorCode.INCORRECT_PARAM).put(PARAM, "inputStream").throwsIfNull(inputStream); SeedException.createNew(RendererErrorCode.INCORRECT_PARAM).put(PARAM, "clazz").throwsIfNull(clazz); try { beanReader = new CsvBeanReader(new InputStreamReader(inputStream, template.getCharsetName()), template.getPreferences()); if (template.showHeader()) { beanReader.getHeader(true); } // the header elements are used to map the values to the bean (names must match) final List<CellProcessor> confList = template.getReadingCellProcessors(); final CellProcessor[] processors = confList.toArray(new CellProcessor[confList.size()]); final String[] fields = template.getFields().toArray(new String[template.getFields().size()]); T bean; while ((bean = beanReader.read(clazz, fields, processors)) != null) { beans.add(bean); } } catch (Exception e) { throw SeedException.wrap(e, RendererErrorCode.SUPER_CSV_EXCEPTION).put(TEMPLATE_NAME, template.getName()); } finally { closeQuietly(beanReader); } return beans; }
protected void readCsvFile(String filename) { InputStream companiesCsvInput = StockAgent.class.getClassLoader() .getResourceAsStream(filename); ICsvBeanReader csvBeanReader = null; try { csvBeanReader = new CsvBeanReader(new BufferedReader( new InputStreamReader(companiesCsvInput)), CsvPreference.STANDARD_PREFERENCE); final String[] header = csvBeanReader.getHeader(true); CompanyInfo companyInfo; while ((companyInfo = csvBeanReader.read(CompanyInfo.class, header, processors)) != null) { this.stockSymbolMap.put(companyInfo.getName(), companyInfo); } csvBeanReader.close(); } catch (IOException e) { logger.error("Failed to load " + filename + ".", e); } }