У меня есть некоторый код Java 8, который пытается прочитать содержимое файла (включая переводы строк) в одну строку;Вот смелость:
static private void fn( BufferedReader reader ) throws IOException {
StringBuilder builder = new StringBuilder( 1000000 );
String line = null;
while ( ( line = reader.readLine() ) != null ) {
builder.append( line ).append( '\n' );
System.err.println( line );
}
String text = builder.toString();
...
}
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader( new InputStreamReader( System.in ) );
fn( reader );
}
Я запускаю это в конфигурации запуска в Eclipse, которая перенаправляет System.in
из файла (который заканчивается EOF), и операторы печати подтверждают, что строкидействительно, читаются, но как только чтение проходит мимо последней строки, оно зависает в отладчике Eclipse.
У меня не было этой проблемы с чтением из других файлов таким способом;почему сейчас?