Streams are like rivers ... you can't really ask them to back up. The IO chapter in Eckell's Thinking In Java (free online) breaks down the confusing hierarchy of IO classes pretty well.
BTW: The languages I used could SEEK and READ BACKWARDS on magnetic tape. It used to be great fun to watch a bank of 8 tape drives do sorts, running backwards and forwards all over the place. You could see the sort algorithm at work and easily tell how well sorted the input was.
A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi