I have
previously
questioned the what seem like weird method names in Java’s newish
ProcessBuilder
API.
It turns out
that its not-newish-at-all close personal friend
Process
is little strange too: it has getOutputStream
and getInputStream
which respectively get you pipes to the process’ standard input and
output. Data comes out of the Process and you want an
InputStream
, so it has to be getInputStream
.
But how can getOutput
get you the input while
getError
gets you the error?
OK, call me anal, I can take it.
But I’m writing a class right now kinda like
Process
, and I simply absolutely can’t bring myself to call the input
the output and vice versa. So I have getTaskInput
,
getTaskOutput
, and getTaskError
, which produce
output, input, and input streams respectively.
We all have to deal with the confusing nature of reality in our own ways.