46 lines
974 B
Java
46 lines
974 B
Java
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("\"");
|
|
}
|
|
}
|