Imagine that the file you're reading is a log file of an active Web server. One read might return 0 because there's no more data to read. The next read might return more data.
That is definitely a possibility, but the file that will be opened will be a copy of the original file and so that particular case is avoided.
Thanks ( I hadn't thought of this
)
Sridhar