public CsvReader(final CsvSchema schema, final AbstractResource resource) { this.lineIterator = resource.lines().iterator(); this.schema = schema; this.comment = "#"; }
@Override public long length() { try (InputStream input = new BufferedInputStream(read())) { long length = 0; while (input.read() >= 0) { length++; } return length; } catch (final IOException e) { throw new CoreException("Resource Length can't be obtained.", e); } }
/** * @param resource * The resource to read * @param schema * The Csv schema to use * @param comment * The lines starting with this will be ignored. */ public CsvReader(final CsvSchema schema, final AbstractResource resource, final String comment) { this.lineIterator = resource.lines().iterator(); this.schema = schema; this.comment = comment; }
public StringResource(final AbstractResource source) { final StringBuilder builder = new StringBuilder(); source.lines().forEach(line -> { builder.append(line); builder.append("\n"); }); this.source = builder.toString(); }
@Test public void testRead() { AbstractResource resource = new InputStreamResource( CsvReaderTest.class.getResourceAsStream("data.csv")); resource.lines().forEach(line -> logger.info(line)); resource = new InputStreamResource(CsvReaderTest.class.getResourceAsStream("data.csv")); Assert.assertEquals(3, Iterables.size(resource.lines())); }