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" <basini...@gmail.com> > À: "core-libs-dev" <core-libs-dev@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?