Contar Linhas em Arquivo

3 respostas
L

Olá passoal,

Estou escrevendo tags XML em um arquivo, que estão servindo como log,
a cada vez que eu inicio o sistema ele tem que ler esse arquivo e continuar incluindo nele?

alguem sabe como posso fazer isso? com um readChar() eu nao to conseguindo…

Positive Vibrations
Lucas Ferst

3 Respostas

V

Use a classe java.io.RandomAccessFile se vc quiser escrever em posições aleatórias no arquivo [método seek(long) e write()]

Se vc quiser somente contar as linhas de um arquivo use a classe java.io.LineNumberInputStream

L

ok…eu estou usando a classe RandomAccessFile como mostrado abaixo

RandomAccessFile escreve = new RandomAccessFile(“c:\input.xml”, “rw”);

for ( int i = 1 ; i < escreve.length(); i++ )
	 {
	 	escreve.seek(i);
	 	
	 	String teste = new String(); 
	 	
	 	teste = teste + Character.toString( escreve.readChar() );
	 	
	 	
	 	System.out.print( teste );
	 	
	}

mas estah me retornando isso

???java.io.EOFException

V

vai ver pq teu arquivo é vazio e vc está tentando escrever na posição 1, então ele irá soltar uma EOFException (EOF = End Of File)

para escrever no final do arquivo basta usar:

escreve.seek(escreve.length-1); escreve.write("XXX".getBytes());

após cada escrita vc não precisa reposicionar o cursor

Criado 19 de novembro de 2004
Ultima resposta 22 de nov. de 2004
Respostas 3
Participantes 2