private void append()

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();
		}
	}