/** * Returns a new {@code CSVFormat} to add a trailing delimiter. * * @return A new CSVFormat that is equal to this but with the trailing delimiter setting. * @since 1.3 */ public CSVFormat withTrailingDelimiter() { return withTrailingDelimiter(true); }
if (trailingDelimiterValue != null) { final boolean trailingDelimiter = trailingDelimiterValue.asBoolean(); format = format.withTrailingDelimiter(trailingDelimiter);
@Test public void testTrailingDelimiterOnTwoColumns() throws IOException { final StringWriter sw = new StringWriter(); try (final CSVPrinter printer = new CSVPrinter(sw, CSVFormat.DEFAULT.withTrailingDelimiter())) { printer.printRecord("A", "B"); assertEquals("A,B,\r\n", sw.toString()); } }
/** * Returns a new {@code CSVFormat} to add a trailing delimiter. * * @return A new CSVFormat that is equal to this but with the trailing delimiter setting. * @since 1.3 */ public CSVFormat withTrailingDelimiter() { return withTrailingDelimiter(true); }
/** * Returns a new {@code CSVFormat} to add a trailing delimiter. * * @return A new CSVFormat that is equal to this but with the trailing delimiter setting. * @since 1.3 */ public CSVFormat withTrailingDelimiter() { return withTrailingDelimiter(true); }
private final static void write(final Path base, final RecordedDataStorage timeSeries, final DumpConfiguration config) { final String fileName; try { fileName = URLEncoder.encode(timeSeries.getPath(), StandardCharsets.UTF_8.toString()) + ".csv"; } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } final Path target = base.resolve(fileName); final char delimiter = config.getDelimiter(); // TODO implement JSON and XML serialization final CSVFormat format = CSVFormat.newFormat(delimiter).withTrailingDelimiter(false).withRecordSeparator('\n'); try (final BufferedWriter writer = Files.newBufferedWriter(target); final CSVPrinter printer = new CSVPrinter(writer, format);) { SerializerImpl.write(timeSeries, config, printer); } catch (IOException e) { throw new UncheckedIOException(e); } }
private static void zip(final CloseableDataRecorder instance, final Stream<FendoTimeSeries> stream, final DumpConfiguration config, final OutputStream out) throws IOException { final char delimiter = config.getDelimiter(); final CSVFormat format = CSVFormat.newFormat(delimiter).withTrailingDelimiter(false).withRecordSeparator('\n'); try (final ZipOutputStream zout = new ZipOutputStream(out, StandardCharsets.UTF_8)) { if (config.isWriteSingleFile()) {
format = format.withTrailingDelimiter(config.get("trailingDelimiter").equals("true"));
/** * Write all time series to a single file * @param writer * @param timeSeries * @param config */ private final static void write(final Writer writer, final List<FendoTimeSeries> timeSeries, final DumpConfiguration config) { final char delimiter = config.getDelimiter(); // TODO implement JSON and XML serialization final CSVFormat format = CSVFormat.newFormat(delimiter).withTrailingDelimiter(false).withRecordSeparator('\n'); try (final CSVPrinter printer = new CSVPrinter(writer, format)) { SerializerImpl.write(timeSeries, config, printer); } catch (IOException e) { throw new UncheckedIOException(e); } }
static int write(final ReadOnlyTimeSeries timeSeries, final SerializationConfiguration config, final Writer writer) throws IOException { Objects.requireNonNull(timeSeries); Objects.requireNonNull(config); Objects.requireNonNull(writer); final FendodbSerializationFormat format = config.getFormat(); final int cnt; switch (format) { case JSON: cnt = write(timeSeries, config, writer, false); writer.flush(); break; case XML: cnt = write(timeSeries, config, writer, true); writer.flush(); break; default: final char delimiter = config.getDelimiter(); final CSVFormat csvFormat = CSVFormat.newFormat(delimiter).withTrailingDelimiter(false).withRecordSeparator('\n'); try (final CSVPrinter printer = new CSVPrinter(writer, csvFormat);) { cnt = write(timeSeries, config, printer); } } return cnt; }
answer = answer.withTrailingDelimiter(trailingDelimiter);
if (trailingDelimiterValue != null) { final boolean trailingDelimiter = trailingDelimiterValue.asBoolean(); format = format.withTrailingDelimiter(trailingDelimiter);