[RESOLVIDO] Classe para ler e gravar arquivo (tudo junto)

6 respostas
eliangela

Olá pessoal.

Estou fazendo um trabalho aqui em que eu preciso, com a mesma instância, ler e gravar um arquivo texto.
Estou usando o RandomAccessFile para isso, mas o método readLine() dessa classe demora 19 segundos para fazer a leitura de um arquivo, oque o método readLine() da classe BufferedReader faz em 1 segundo.

Queria saber se existe alguma classe que faça essas duas coisas: ler e gravar arquivos de forma bem eficiente.

Obrigada

6 Respostas

Jairo_Junior1

eliangela:
Olá pessoal.

Estou fazendo um trabalho aqui em que eu preciso, com a mesma instância, ler e gravar um arquivo texto.
Estou usando o RandomAccessFile para isso, mas o método readLine() dessa classe demora 19 segundos para fazer a leitura de um arquivo, oque o método readLine() da classe BufferedReader faz em 1 segundo.

Queria saber se existe alguma classe que faça essas duas coisas: ler e gravar arquivos de forma bem eficiente.

Obrigada


Espero que não, seria falta de coesão, uma classe com duas funções diferentes.

Mas tem o BufferedWriter para escrever, assim como tem o BufferedReader pra ler. Podem ser usados com FileReader e FileWriter.

renamed

Eu nunca ouvi que exista uma classe que faça isso.

E a partir do java 5 vc pode usar a classe Scanner para ler um arquivo… é bem simples.

eliangela

Obrigada pessoal,
vou continuar procurando algo aqui.

eliangela

uma última dúvida:
Existe alguma maneira de pegar um arquivo texto e substituir apenas uma linha desse arquivo, sem ter que apagá-lo e regravá-lo inteiro?

Obrigada

M

eliangela:
uma última dúvida:
Existe alguma maneira de pegar um arquivo texto e substituir apenas uma linha desse arquivo, sem ter que apagá-lo e regravá-lo inteiro?

Obrigada


Pelo que sei, não. Quanto à leitura/escrita, se for texto puro use Scanner e PrintWriter que o problema será resolvido. Caso não seja texto use um BufferedXxxputStream.

eliangela

Obrigada pela ajuda pessoal!

Vou usar BufferedWriter e BufferedReader mesmo.

Criado 18 de janeiro de 2010
Ultima resposta 19 de jan. de 2010
Respostas 6
Participantes 4