Controlar tamanho do arquivo.txt?

2 respostas
paulinhohd

Pessoal, tem como no java eu saber em tempo de execução de minha aplicação qual tamanho esta o arquivo.txt que estou lendo e gravando nele?

Tipo para controlar por exemplo: Se meu arquivo.txt estiver com 500MB eu criar um novo com outro nome?

Obrigado! 8)

2 Respostas

luistiagos

Em um txt cada caractere é 1 byte sendo assim basta vc ler este txt e contar a qtdade de caracteres…

T

O tamanho do arquivo, dado pelo método “length” da classe File, não é muito preciso se o arquivo ainda não estiver fechado, devido a algumas otimizações do sistema operacional.
A forma mais adequada, se você estiver simplesmente usando um arquivo .txt para criar um arquivo de log, é
usar o Log4J e usar um dos loggers que já fazem essa “rotação de arquivos”. Com isso você ganha também um monte de recursos do Log4j.
Se você realmente quer saber o tamanho exato e não é para fazer log, você tem de tomar conta disso. Uma forma é você encapsular o seu FileWriter em uma outra classe, e efetuar um “override” dos métodos write (definidos por OutputStreamWriter e FileWriter) para contar também a quantidade de bytes escritos, e se for o caso fechar o arquivo original e abrir outro.

Criado 25 de agosto de 2008
Ultima resposta 25 de ago. de 2008
Respostas 2
Participantes 3