FileOutputStream.available() and pipe EOF

Remi Forax forax at univ-mlv.fr
Sat Feb 10 21:27:37 UTC 2018


Hi Basin,
or instead of relying on an undocumented behaviour, you can use any overloads of read(), if it returns -1, it's the ends of the stream.

cheers,
Rémi

----- Mail original -----
> De: "Basin Ilya" <basinilya at gmail.com>
> À: "core-libs-dev" <core-libs-dev at openjdk.java.net>
> Envoyé: Samedi 10 Février 2018 22:15:18
> Objet: FileOutputStream.available() and pipe EOF

> Hi list.
> 
> My question relates to streams returned by
> java.lang.Process.getInputStream()
> 
> On Linux calling available() after the other side of the pipe was closed
> will throw:
> 
>	java.io.IOException: Stream Closed
> 
> This is very handy, because you can distinguish EOF and a pause in
> transmission.
> 
> On Windows same Oracle JDK version 1.8.0_161 behaves in a traditional
> manner and available() returns 0 in both cases. Will this ever change?


More information about the core-libs-dev mailing list