in plugin-unstructured-storage-util/src/main/java/com/alibaba/datax/plugin/unstructuredstorage/writer/DataXCsvWriter.java [98:164]
public void write(String var1, boolean var2) throws IOException {
this.checkClosed();
if(var1 == null) {
var1 = "";
}
if(!this.firstColumn) {
this.writer.write(this.userSettings.Delimiter);
}
boolean var3 = this.userSettings.ForceQualifier;
if(!var2 && var1.length() > 0) {
var1 = var1.trim();
}
if(!var3 && this.userSettings.UseTextQualifier && (var1.indexOf(this.userSettings.TextQualifier) > -1 || var1.indexOf(this.userSettings.Delimiter) > -1 || !this.useCustomRecordDelimiter && (var1.indexOf(10) > -1 || var1.indexOf(13) > -1) || this.useCustomRecordDelimiter && var1.indexOf(this.userSettings.RecordDelimiter) > -1 || this.firstColumn && var1.length() > 0 && var1.charAt(0) == this.userSettings.Comment || this.firstColumn && var1.length() == 0)) {
var3 = true;
}
if(this.userSettings.UseTextQualifier && !var3 && var1.length() > 0 && var2) {
char var4 = var1.charAt(0);
if(var4 == 32 || var4 == 9) {
var3 = true;
}
if(!var3 && var1.length() > 1) {
char var5 = var1.charAt(var1.length() - 1);
if(var5 == 32 || var5 == 9) {
var3 = true;
}
}
}
if(var3) {
this.writer.write(this.userSettings.TextQualifier);
if(this.userSettings.EscapeMode == 2) {
var1 = replace(var1, "\\", "\\\\");
var1 = replace(var1, "" + this.userSettings.TextQualifier, "\\" + this.userSettings.TextQualifier);
} else {
var1 = replace(var1, "" + this.userSettings.TextQualifier, "" + this.userSettings.TextQualifier + this.userSettings.TextQualifier);
}
} else if(this.userSettings.EscapeMode == 2) {
var1 = replace(var1, "\\", "\\\\");
var1 = replace(var1, "" + this.userSettings.Delimiter, "\\" + this.userSettings.Delimiter);
if(this.useCustomRecordDelimiter) {
var1 = replace(var1, "" + this.userSettings.RecordDelimiter, "\\" + this.userSettings.RecordDelimiter);
} else {
var1 = replace(var1, "\r", "\\\r");
var1 = replace(var1, "\n", "\\\n");
}
if(this.firstColumn && var1.length() > 0 && var1.charAt(0) == this.userSettings.Comment) {
if(var1.length() > 1) {
var1 = "\\" + this.userSettings.Comment + var1.substring(1);
} else {
var1 = "\\" + this.userSettings.Comment;
}
}
}
this.writer.write(var1);
if(var3) {
this.writer.write(this.userSettings.TextQualifier);
}
this.firstColumn = false;
}