Any buffered output is first written to the file, and the return value is an integer, normally 0, or -1 on error, or the return status of the child process in case the the file was a pipe.
If the file was open for both input and output, it remains open for input.
See also File, Manipulator, closeIn, and close.