Dobrý den,
dnes další "jobovka" :-) Jak je možné, že read() z potomků InputStream
používá něco co by se v jiných jazycích nazvalo výstupní parametry nebo
předávání parametrů referencí (ByRef např. ve VB). Java přeci nic takového
nemá. Vše je předáváno metodám "ByVal", tedy hodnotou.

Tak jak to může např.
*      FileInputStream.read(byte[] b)*
mít v JavaDocu napsáno
*      @param      b   the buffer into which the data is read.*

Obecně jako nováček bych čekal, že read bude vrácet byte[], nikoli, že mi
načtené pole bajtů bude změneno v proměnné předané hodnotou (což není možné
přece...).
*
*Když se podívám na zdrojáky, tak se nedostanu dále, než že to využívá JNI v
signaturách metod, např.:
      *private native int readBytes(byte b[], int off, int len) throws
IOException;*
*
*Přiznávám, že JNI neznám a nikdy jsem nepoužíval. To je díky tomu? Nebo co
je to za "magii"? :-)

Díky
Libor
**

Odpovedet emailem