Duvida a respeito do mark() e do reset()  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
du123
JavaChild

Membro desde: 27/11/2006 11:19:22
Mensagens: 127
Offline

Olá!

Estou utilizando o BufferedReader para ler dados em um arquivo texto. Na minha classe, vários metodos necessitam ter acesso a esse arquivo texto, então, declarei o buffered como atributo da classe...

Consigo utilizalo normalmente conforme vou dando o readLine(), porém, quando OUTRO METODO for acessar esse bReader, o ponteiro está lá embaixo... e nao consigo ler desde o começo.

Como resolver!?

o mark e o reset dão erro =/

Obrigado

Keep studying, little grasshopper... =)
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

du123 wrote:Olá!

Estou utilizando o BufferedReader para ler dados em um arquivo texto. Na minha classe, vários metodos necessitam ter acesso a esse arquivo texto, então, declarei o buffered como atributo da classe...

Se eu disser que isso não é aconselhável, você não fica bravo?

Consigo utilizalo normalmente conforme vou dando o readLine(), porém, quando OUTRO METODO for acessar esse bReader, o ponteiro está lá embaixo... e nao consigo ler desde o começo.

Como resolver!?

o mark e o reset dão erro =/

Obrigado

Que tipo de erro eles dão? Que eu saiba, mark() e reset() funcionam muito bem se o arquivo não for muito grande (é que "mark" marca uma posição no arquivo, mas copia os dados para a memória desde essa posição até a posição lida. Ou seja: se seu arquivo-texto tiver 20 MB, e você marcar a posição 1.000.000, então você vai ter de acumular 19 MB na memória


[WWW]
du123
JavaChild

Membro desde: 27/11/2006 11:19:22
Mensagens: 127
Offline

Obrigado pela resposta thingol! =)

Qual seria o ideal, cara? Declarar em cada método um bReader?

java.io.IOException: Mark invalid
at java.io.BufferedReader.reset(Unknown Source)
at PCCapital.UpBase(PCCapital.java:9
at PCCapital.<init>(PCCapital.java:39)
at IndexPC.main(IndexPC.java:7)
Exception in thread "main"

Esse é o erro gerado pelo reset() .... independente de onde eu ponha o mark()...


Obrigado novamente!

Keep studying, little grasshopper... =)
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Deixa eu ver. Acho que dá para definir vários "readers" se o arquivo for aberto apenas para leitura, mas vou confirmar isto agora.
[WWW]
du123
JavaChild

Membro desde: 27/11/2006 11:19:22
Mensagens: 127
Offline

Isso dá para fazer
na primeira vez q fiz esse programinha aqui eu fiz desse jeito
mas achei meio bobera.... pq tava declarando trocentas vezes a msm coisa

Keep studying, little grasshopper... =)
du123
JavaChild

Membro desde: 27/11/2006 11:19:22
Mensagens: 127
Offline

Para quem interessar...

A melhor solução para esse problema, no meu caso, foi pegar o arquivo texto, dar um load dele inteirinho em uma arraylist, e trabalhar apartir de lá..

Keep studying, little grasshopper... =)
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

[WWW]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team