Existe alguma classe no java.io para fazer o seguinte:
tenho um arquivo que irá armazenar logs. O arquivo terá várias linhas do tipo:
08:01:20^codMSG^descrMSG
09:15:56^codMSG^descrMSG
10:52:41^codMSG^descrMSG
Caso eu precise editar o arquivo para mexer no 2º registro, por exemplo alterar o codMSG como faria utilizando o java.io sem perder os outros registros?
Alguém tem alguma solução? Terei que trabalhar com outro pacote ou somente com o java.io?
Muito obrigado pelas dicas e me desculpem o nivel da pergunta.
Olá, bom dia,
Através do pacote java.io.*, voce pode escolher a forma de trabalhar com arquivos, no caso para armazenar ou recuperar informações.
Você pode escolher dentre um conjunto, classes para trabalhar com arquivos sequenciais, arquivos randomicos ou se quiser ainda trabalhar com arquivos de serialização.
O que entendo necessário na sua situação, seria a principio escolher entre as opções de armazenamento em arquivos como citado acima. Após a escolha, executar um teste de armazenamento e recuperação de dados.
Acredito que conseguirá resolver sua situação, através de um arquivo sequencial.
espero ter ajudado.
atenciosamente
bom, se vc sabe qual o registro que vai mudar, pode ir lendo por linhas mesmo.
só não sei como seria para salvar as mudanças depois, nunca fiz isso assim hehehe
flw
[quote=domingosbernardo]Olá, bom dia,
Através do pacote java.io.*, voce pode escolher a forma de trabalhar com arquivos, no caso para armazenar ou recuperar informações.
Você pode escolher dentre um conjunto, classes para trabalhar com arquivos sequenciais, arquivos randomicos ou se quiser ainda trabalhar com arquivos de serialização.
O que entendo necessário na sua situação, seria a principio escolher entre as opções de armazenamento em arquivos como citado acima. Após a escolha, executar um teste de armazenamento e recuperação de dados.
Acredito que conseguirá resolver sua situação, através de um arquivo sequencial.
espero ter ajudado.
atenciosamente
[/quote]
Eu já tentei utilizar várias classes, mas não consegui atualizar o registro. Vc poderia me dar mais detalhes com relação ao q vc mencionou?
Obrigado!!!
Se os registros têm comprimentos diferentes e são separados por “\r\n” (CRLF) ou apenas por “\n”, e se o tal registro pode ter seu comprimento alterado quando for atualizado, então você precisa ler o arquivo inteirinho com as classes que se destinam a usar arquivos-texto, como FileReader ou FileWriter.
Se os registros têm comprimento igual (ou seus comprimentos podem ser calculados de forma simples) e se, ao atualizarmos o registro, o comprimento não for alterado, então você pode efetuar a atualização “in-place” e você pode usar as classes que se destinam a efetuar acesso aleatório a arquivos (RandomAccessFile).