Relendo um BufferedReader

Ola pessoall…gostaria de uma informação…

como eu faço para reutilizar um BufferedReader…ou seja…voltar para sua posição inicial…digamos…o primeiro “registro”…

eu tentei com o metodo “reset()”…e o "mark(int)"mas nao consegui…

eu fiz assim eu leio ele normamente ate o final…depois quando o meu “readLine() ==null”… eu faço o seguinte :

reader.mark(int) // aqui é zero ou 1??? na documentação nao fala!!! =(

e depois quando eu quero reutiliza-lo eu faço…

reader.reset();

e queria poder reutiliza-lo.só que ele aborta…ou seja…no primeiro teste se o readLine == null…ele ja sai…

parece que ele nao esta voltando…

como que faz isso… ou …o que eu estou fazendo de errado??

alguem poderia postar um exempo para mim??

valeu pessoal!!!

pessoal…to precisando meio urgente disso e nao to conseguindo… :lol:

ninguem??? :cry:

valeu! :smiley:

Nunca utilizei mark e reset,mas posso dizer uma coisa:
Do modo q vc tá fazendo não funciona!
mark recebe como parametro readAheadLimit q é o número de chars
q pode ser lido,na verdade,o limite de seu inputbuffer.
Se usar algo maior do q seu input um novo buffer será disponibilizado cujo tamanho poderá ser maior q o limite…
Vc tá marcando readLine() ==null, q parâmetro será passado a
mark() ?
Ou seja, o buffer está vazio…
Bom estou só teorizando pois nunca reutilizei buffer antes(e posso
estar completamente errado!!!)
Mas como vc tá precisando disso urgente…

a verdadeira documentação(existe as q ignoram o parâmetro!):
public void mark(int readAheadLimit)
throws IOException

Mark the present position in the stream. Subsequent calls to reset() will attempt to reposition the stream to this point.

 [quote]readAheadLimit - Limit on the number of characters that may be read while still preserving the mark. After reading this many characters, attempting to reset the stream may fail. A limit value larger than the size of the input buffer will cause a new buffer to be allocated whose size is no smaller than limit. Therefore large values should be used with care. 

[/quote]
Será disparada uma IllegalArgumentException se o
readAheadLimit<0