Я работаю над приложением J2ME для телефонов Symbian S60, где требуется чтение из текстового файла.У меня нет доступа к BufferedReader для извлечения строки текста из файла, но я нашел это на справочных форумах Nokia, и это меня немного смущает.Вот код, и мой вопрос ниже.Спасибо за ответы.
/**
* Reads a single line using the specified reader.
* @throws java.io.IOException if an exception occurs when reading the
* line
*/
private String readLine(InputStreamReader reader) throws IOException {
// Test whether the end of file has been reached. If so, return null.
int readChar = reader.read();
if (readChar == -1) {
return null;
}
StringBuffer string = new StringBuffer("");
// Read until end of file or new line
while (readChar != -1 && readChar != '\n') {
// Append the read character to the string. Some operating systems
// such as Microsoft Windows prepend newline character ('\n') with
// carriage return ('\r'). This is part of the newline character
// and therefore an exception that should not be appended to the
// string.
string.append((char)readChar);
// Read the next character
readChar = reader.read();
}
return string.toString();
}
Мой вопрос касается метода readLine ().В цикле while () зачем проверять readChar! = -1 и! = '\ N'?Насколько я понимаю, -1 представляет конец потока (EOF).Я понимал, что если я извлекаю одну строку, мне нужно только проверить наличие символа новой строки.
Спасибо.