package com.sforce.bulk; import java.io.PrintWriter; import java.io.Writer; public class CsvWriter { private PrintWriter writer; public CsvWriter(String[] headers, Writer w) { assert headers != null; assert headers.length != 0; this.writer = new PrintWriter(w, true); writeRecord(headers); } public void writeRecord(String[] values) { assert values != null; writeFirstField(values[0]); for (int i = 1; i < values.length; i++) writeField(values[i]); endRecord(); } public void endDocument() { this.writer.close(); } public void endRecord() { this.writer.println(); } public void writeField(String value) { this.writer.print(","); writeFirstField(value); } public void writeFirstField(String value) { if (value == null) return; this.writer.print("\""); value = value.replaceAll("\"", "\"\""); this.writer.print(value); this.writer.print("\""); } }