public static String escapeCsvData(String[] data) { ByteArrayOutputStream out = new ByteArrayOutputStream(); CsvWriter writer = new CsvWriter(new OutputStreamWriter(out), ','); writer.setEscapeMode(CsvWriter.ESCAPE_MODE_BACKSLASH); writer.setTextQualifier('\"'); writer.setUseTextQualifier(true); writer.setForceQualifier(true); for (String s : data) { try { writer.write(s, true); } catch (IOException e) { throw new IoException(); } } writer.close(); return out.toString(); }
/** * Writes a new record using the passed in array of values. * * @param values * Values to be written. * * @throws IOException * Thrown if an error occurs while writing data to the * destination stream. */ public void writeRecord(String[] values) throws IOException { writeRecord(values, false); }
public void writeComment(String commentText) throws IOException { checkClosed(); checkInit(); outputStream.write(userSettings.Comment); outputStream.write(commentText); if (useCustomRecordDelimiter) { outputStream.write(userSettings.RecordDelimiter); } else { outputStream.println(); } firstColumn = true; }
/** * Writes a new record using the passed in array of values. * * @param values * Values to be written. * * @param preserveSpaces * Whether to preserver leading and trailing spaces in * columns while writing out to the record or not. * * @throws IOException * Thrown if an error occurs while writing data to the * destination stream. */ public void writeRecord(String[] values, boolean preserveSpaces) throws IOException { if (values != null && values.length > 0) { for (int i = 0; i < values.length; i++) { write(values[i], preserveSpaces); } endRecord(); } }
public static String escapeCsvData(String[] data, char recordDelimiter, char textQualifier, int escapeMode, String nullString) { ByteArrayOutputStream out = new ByteArrayOutputStream(); CsvWriter writer = new CsvWriter(new OutputStreamWriter(out), ','); writer.setEscapeMode(escapeMode); if (recordDelimiter != '\0') { writer.setRecordDelimiter(recordDelimiter); } if (textQualifier != '\0') { writer.setTextQualifier(textQualifier); writer.setUseTextQualifier(true); writer.setForceQualifier(true); } if (nullString != null) { writer.setNullString(nullString); } try { writer.writeRecord(data); } catch (IOException e) { throw new IoException(); } writer.close(); return out.toString(); }
/** * This escapes backslashes but doesn't wrap the data in a text qualifier. */ public static String escapeCsvData(String data) { ByteArrayOutputStream out = new ByteArrayOutputStream(); CsvWriter writer = new CsvWriter(new OutputStreamWriter(out), ','); writer.setEscapeMode(CsvWriter.ESCAPE_MODE_BACKSLASH); try { writer.write(data); writer.close(); out.close(); } catch (IOException e) { } return out.toString(); }
csvWriter = new CsvWriter(writer, ','); csvWriter.setEscapeMode(CsvWriter.ESCAPE_MODE_BACKSLASH); csvWriter.setTextQualifier('\"'); csvWriter.setUseTextQualifier(true); csvWriter.setForceQualifier(true); } else if (format == Format.SQL) { Table targetTable = table.copy(); csvWriter.writeRecord(table.getColumnNames()); } else if (!noData && format == Format.XML) { write("<table_data name=\"", table.getName(), "\">\n");
public void close() { writeComment("Completed on " + df.format(new Date())); if (format == Format.SYM_XML) { write("</batch>\n"); } else if (format == Format.XML) { write("</database>\n"); } startedWriting = false; if (csvWriter != null) { csvWriter.flush(); csvWriter.close(); csvWriter = null; } IOUtils.closeQuietly(writer); writer = null; }
checkClosed(); checkInit(); content = replace(content, "" + Letters.BACKSLASH, "" + Letters.BACKSLASH + Letters.BACKSLASH); content = replace(content, "" + userSettings.TextQualifier, "" + Letters.BACKSLASH + userSettings.TextQualifier); } else { content = replace(content, "" + userSettings.TextQualifier, "" + userSettings.TextQualifier + userSettings.TextQualifier); content = replace(content, "" + Letters.BACKSLASH, "" + Letters.BACKSLASH + Letters.BACKSLASH); content = replace(content, "" + userSettings.Delimiter, "" + Letters.BACKSLASH + userSettings.Delimiter); content = replace(content, "" + userSettings.RecordDelimiter, "" + Letters.BACKSLASH + userSettings.RecordDelimiter); } else { content = replace(content, "" + Letters.CR, "" + Letters.BACKSLASH + Letters.CR); content = replace(content, "" + Letters.LF, "" + Letters.BACKSLASH + Letters.LF);
/** * Closes and releases all related resources. */ public void close() { if (!closed) { close(true); closed = true; } }
/** * Writes another column of data to this record. Does not preserve * leading and trailing whitespace in this column of data. * * @param content * The data for the new column. * @exception IOException * Thrown if an error occurs while writing data to the * destination stream. */ public void write(String content) throws IOException { write(content, false); }
@Override protected void finalize() { close(false); }
try { if (format == Format.CSV) { csvWriter.writeRecord(values, true); } else if (format == Format.SQL) { write(insertSql.buildDynamicSql(BinaryEncoding.HEX, row,
/** * Ends the current record by sending the record delimiter. * * @exception IOException * Thrown if an error occurs while writing data to the * destination stream. */ public void endRecord() throws IOException { checkClosed(); checkInit(); if (useCustomRecordDelimiter) { outputStream.write(userSettings.RecordDelimiter); } else { outputStream.println(); } firstColumn = true; }