<p>I currently have 2 <code>BufferedReader</code>s initialized on the same text file. When I'm done reading the text file with the first <code>BufferedReader</code>, I use the second one to make another pass through the file from the top. Multiple passes through the same file are necessary.</p>

<p>I know about <code>reset()</code>, but it needs to be preceded with calling <code>mark()</code> and <code>mark()</code> needs to know the size of the file, something I don't think I should have to bother with.</p>

<p>Ideas? Packages? Libs? Code?</p>

<p>Thanks
TJ</p>

What's the disadvantage of just creating a new
```
BufferedReader
```
to read from the top? I'd expect the operating system to cache the file if it's small enough.
If you're concerned about performance, have you proved it to be a bottleneck? I'd just do the simplest thing and not worry about it until you have a specific reason to. I mean, you could just read the whole thing into memory and then do the two passes on the result, but again that's going to be more complicated than just reading from the start again with a new reader.