in src/main/java/com/univocity/parsers/tsv/TsvWriter.java [161:200]
private void append(String element) {
if (element == null) {
element = nullValue;
}
if (element == null) {
return;
}
int start = 0;
if (this.ignoreLeading) {
start = skipLeadingWhitespace(whitespaceRangeStart, element);
}
final int length = element.length();
int i = start;
char ch = '\0';
for (; i < length; i++) {
ch = element.charAt(i);
if (ch == '\t' || ch == '\n' || ch == '\r' || ch == '\\') {
appender.append(element, start, i);
start = i + 1;
appender.append(escapeChar);
if (ch == '\t') {
appender.append(escapedTabChar);
} else if (ch == '\n') {
appender.append(joinLines ? newLine : 'n');
} else if (ch == '\\') {
appender.append('\\');
} else {
appender.append(joinLines ? newLine : 'r');
}
}
}
appender.append(element, start, i);
if (ch <= ' ' && ignoreTrailing && whitespaceRangeStart < ch) {
appender.updateWhitespace();
}
}