> Hmm, skoro som tomu uveril. Ako si ale mam formulaciu "This method
> blocks until input data is available, the end of the stream is
> detected, or an exception is thrown." vysvetlit pre metodu read() bez
> parametrov, ktora zjavne nema moznost, na rozdiel od read(byte[]),
> precitat "mensi kusok"? 

He? Prave ze uplne stejne!
Proste pocka, az bude alespon jeden byte k dispozici.

Jediny rozdil je, zde neni prostor pro ruzne vyklady.

> Pozrel som zdrojaky InputStream-u; metodoa
> read(byte[]) nerobi nic ine, iba patricne vola read() bez parametrov.

To nema smysl zkoumat, vsechny dulezite implementace InputStream si 
read(byte[],int,int) pretizi.
Jiste, chyba je v navrhu ze InputStream neni interface, ale takovych veci se od 
JDK1.0 tahne vice.

> However, predcasne skoncit moze, ak dojde k IOException, co ale celkom
> uspesne odmaskuje prazdnym catch blokom. Grrrrr.
> 
> Nicmenej, idem sa zahlbit do zdrojakov SocketInputStream-u, aj ked uz
> na prvy pohlad to vyzera na citanie pre silne zaludky. Zda sa, ze
> pristup je tu opacny, namiesto toho, aby metoda read(byte[]) bola
> implementovana pomocou read(), tak read() je implementovana pomocou
> read(byte[1]).

Samozrejme, API operacniho systemu pracuje s bufferem, bylo by velmi 
neefektivni to nacitat po jednom byte.

> J.

Odpovedet emailem