Olá amigos,
estou lendo um arquivo texto para fazer uma carga em banco, é possível ler apenas a última linha do arquivo sem ter que varre-lo por completo ?
Um abraço
Olá amigos,
estou lendo um arquivo texto para fazer uma carga em banco, é possível ler apenas a última linha do arquivo sem ter que varre-lo por completo ?
Um abraço
Olá
Seu problema pode ficar mais simples se você der mais alguns detalhes:
a) Os registros são de tamanho fixo? (Todas as linhas do mesmo comprimento)
b) As linhas possuem um separador tipo vírgula e tém CRLF?
[]s
Luca
Os campos são separados por vírgulas.
O arquivo tem o seguinte formato:
00000000000000000000000
123;456;AAA;BBB;CCC
123;456;AAA;BBB;CCC
123;456;AAA;BBB;CCC
0000003AAAAAAAAAAAAAA
Eu preciso pegar o valor total de registros da última linha, mas não queria varrê-lo todo por que ele pode chegar a ter 3000000 de registros.
Olá
Isto é uma linha? Todas as linhas tem o mesmo tamanho? Se for assim fica bem mais fácil.
[]s
Luca
A primeira e ultima linha eu pego através de posicional.
As outras estou utilizando o metodo split para pegar através do delimitador “;”
O tamanho da primeira e utima linha é diferente das outras.
Olá
O importante é saber se vc pode usar:public long skip(long n)
throws IOExceptionSkip characters. This method will block until some characters are available, an I/O error occurs, or the end of the stream is reached.
Parameters:
n - The number of characters to skip
Returns:
The number of characters actually skipped
Throws:
IllegalArgumentException - If n is negative.
IOException - If an I/O error occurs
java.io
Class Reader
java.lang.Object
java.io.Reader
Direct Known Subclasses:
BufferedReader, CharArrayReader, FilterReader, InputStreamReader, PipedReader, StringReader
Acho que é isto, fiz uns Copys&Pastes da API do Java sem poder pensar muito.
[]s
Luca
Entendi, só que como o número de caracteres na linha pode variar eu não teria como usar o skip.
Mesmo assim valeu mesmo, muito obrigado.
Olá
Mas você mesmo disse que seus registros repetem o padrão
00000000000000000000000
123;456;AAA;BBB;CCC
123;456;AAA;BBB;CCC
123;456;AAA;BBB;CCC
0000003AAAAAAAAAAAAAA
Então qual dificuldade de buscar o último grupo destas 5 linhas?
[]s
Luca