за стриймовете
3 отговора
125 прегледа
за стриймовете
// 1b. Reading standard input:
BufferedReader stdin =
new BufferedReader(
new InputStreamReader(System.in));
System.out.print("Enter a line:");
System.out.println(stdin.readLine());
На последния ред имаме readLine(), което явно очаква от потребителя да натисне enter. По поведението на програмата се разбира, че изпълнението й спира на тази стъпка и очаква това действие. Моето първоначално предположение беше, че ще при интерпретирането ще счете, че аргумента е празен низ или нещо такова...
Въпросът е кое кара изпълнението да чака? Дали това е BufferedReader-а или нещо друго?
Мерси предварително за отзивчивостта :)
BufferedReader stdin =
new BufferedReader(
new InputStreamReader(System.in));
System.out.print("Enter a line:");
System.out.println(stdin.readLine());
На последния ред имаме readLine(), което явно очаква от потребителя да натисне enter. По поведението на програмата се разбира, че изпълнението й спира на тази стъпка и очаква това действие. Моето първоначално предположение беше, че ще при интерпретирането ще счете, че аргумента е празен низ или нещо такова...
Въпросът е кое кара изпълнението да чака? Дали това е BufferedReader-а или нещо друго?
Мерси предварително за отзивчивостта :)
Re: за стриймовете
Mnogo prosto - input-stream-a ne e konstanta - tova koeto vika6 e funkcia i rezultatyt ot neia se podava na izhoda. Moje6 da si go predstavi6 taka:
String str = ...readLine();
...println(str);
String str = ...readLine();
...println(str);
Re: за стриймовете
Ясно, а от друга страна тази функция не се изпълнява докато не се въведе enter...
Re: за стриймовете
spored javadoca readline() blokira threada dokato niama input ili exception
drugia put cheti javadoca, ima dosta tunki podrobnosti :)
karam zaika zashtoto moga!
drugia put cheti javadoca, ima dosta tunki podrobnosti :)
karam zaika zashtoto moga!