Я разработчик для Java и Android.Я работаю в приложении для обновления программного обеспечения и использую проект ftp4j в качестве библиотеки FTP, но у меня есть проблема.Когда скорость моего соединения низкая в конце загрузки при получении ответа FTP, возникает странная проблема.В кодах внизу «int i = reader.read ()» ничего не возвращает, поэтому коды не продолжают работать.Я проверил, готов ли ридер или нет, но он возвращает истину, когда возникает проблема.Как я могу исправить эту проблему?Я так беспомощен сейчас.Вот коды:
public String readLine() throws IOException {
StringBuffer buffer = new StringBuffer();
int previous = -1;
int current = -1;
do {
int i = reader.read();
if (i == -1) {
if (buffer.length() == 0) {
return null;
} else {
return buffer.toString();
}
}
previous = current;
current = i;
if (/* previous == '\r' && */current == '\n') {
// End of line.
return buffer.toString();
} else if (previous == '\r' && current == 0) {
// Literal new line.
buffer.append(SYSTEM_LINE_SEPARATOR);
} else if (current != 0 && current != '\r') {
buffer.append((char) current);
}
} while (true);
}
PS: читатель является InputStreamReader.