Ejemplo n.º 1
0
  @Test
  public void testDoubleQuotes() {
    final CsvLineParser parser = new CsvLineParser();
    final String s = "a,\"\"\"b\"\"\",c";
    final List<String> list = parser.parse(s);
    assertEquals(3, list.size());

    assertEquals("a", list.get(0));
    assertEquals("\"b\"", list.get(1));
    assertEquals("c", list.get(2));
  }
Ejemplo n.º 2
0
  @Test
  public void testSimpleLineParse() {
    final CsvLineParser parser = new CsvLineParser();
    final String s = "a,b,c";
    final List<String> list = parser.parse(s);
    assertEquals(3, list.size());

    assertEquals("a", list.get(0));
    assertEquals("b", list.get(1));
    assertEquals("c", list.get(2));
  }
Ejemplo n.º 3
0
  private Stream<CsvLine> parseToCsvLine(InputStream is) {
    CsvLineParser lineParser =
        new CsvLineParser(
            formatter.getQuoteChar(), formatter.getEscapeChar(), formatter.getFieldSeparator());

    int skipCount = formatter.isHeaderRequired() ? 1 : 0;
    AtomicInteger lineNum = new AtomicInteger(skipCount + 1);
    return parseToLine(is)
        .skip(skipCount)
        .map(
            line -> {
              int i = lineNum.getAndIncrement();
              try {
                return new CsvLine(i, lineParser.parse(line));
              } catch (Exception e) {
                return new CsvLine(i, new LineParseException(e));
              }
            });
  }