in ftplet-api/src/main/java/org/apache/ftpserver/ftplet/DefaultFtpReply.java [101:157]
public String toString() {
int code = getCode();
String notNullMessage = getMessage();
if (notNullMessage == null) {
notNullMessage = "";
}
StringBuilder sb = new StringBuilder();
// remove any carriage returns
notNullMessage = notNullMessage.replace("\r", "");
// remove trailing line feeds
if(notNullMessage.endsWith("\n")) {
notNullMessage = notNullMessage.substring(0, notNullMessage.length() - 1);
}
String[] lines = notNullMessage.split("\n");
// no newline
if (lines.length == 1) {
sb.append(code);
sb.append(" ");
sb.append(notNullMessage);
sb.append(CRLF);
} else {
sb.append(code);
sb.append("-");
for (int i = 0; i < lines.length; i++) {
String line = lines[i];
if (i + 1 == lines.length) {
sb.append(code);
sb.append(" ");
}
// "If an intermediary line begins with a 3-digit number, the Server
// must pad the front to avoid confusion.
if(i > 0
&& i + 1 < lines.length
&& line.length() > 2
&& isDigit(line.charAt(0))
&& isDigit(line.charAt(1))
&& isDigit(line.charAt(2))
) {
sb.append(" ");
}
sb.append(line);
sb.append(CRLF);
}
}
return sb.toString();
}