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.
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[/quote]
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.
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?
[quote=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[/quote]
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.