gostaria de saber como faco para ler apenas a ultima linha de um arquivo, por exemplo txt. Usei o InputStreamReader e ele me retorna todo o conteudo do arquivo e eu preciso ler somente a ultima linha.
Muito obrigado!
gostaria de saber como faco para ler apenas a ultima linha de um arquivo, por exemplo txt. Usei o InputStreamReader e ele me retorna todo o conteudo do arquivo e eu preciso ler somente a ultima linha.
Muito obrigado!
você nao pode percorrer o arquivo todo e quando chegar na ultima linha trabalhar com ela? Eu não sei se existe um jeito de dar um “jump” para a último linha assim de cara
Não sei de nenhum método pra fazer isso direto.
Quando precisei fazer isso uma vez, explorei algumas cacterísticas do arquivo que estava lendo.
Como era um arquivo de dados, cada linha tinha 64 chars. E sempre o arquivo teria mais de 1000 linhas daí pra agilizar fiz:
BufferedReader reader = new BufferedReader(new FileReader(
new File("arquivo")));
String linha = reader.readLine();
String linhaAnterior = linha;
reader.skip(1000*64);//pula 1000 linhas
//Vai ateh a ultima
while (linha!=null) {
linhaAnterior = linha;
linha = reader.readLine();
}
//Utiliza a útima linha...
Valeu galera… juntei a dica dos dois e consegui resolver o problema!
Abracos
Não seria mais barato pular para o eof e ir “andando para trás” até encontrar o line feed ou line feed + carriage return?
Neste ponto estariamos no fim da penúltima linha, sendo necessário passarmos para a próxima e então ler.