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); } }
@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; }