Oi,
Exatamente! graças ao OO =)
Também tem uma forma (não sei se é melhor para quem está começando ou pior...)
Criar 3 métodos para manipulação do arquivo:
// Declarando variaveis globais.
String is_buffer = "";
byte[] ih_buffer;
String[] is_linhas;
ListIterator<String> io_linhas;
// Método para abrir o arquivo txt gerado pelo notepad ou outro aplicativo.
public void AbrirArquivo()
{
try
{
// Objeto para manuseio do arquivo ...
FileInputStream lo_is_file = new FileInputStream("teste.txt");
// aloca o espaço para leitura ...
ih_buffer = new byte[lo_is_file.available()-0];
// "Pula" dentro do arquivo até a posição desejada
lo_is_file.skip(0);
// Read file ...
lo_is_file.read(ih_buffer, 0, ih_buffer.length);
// Fecha o arquivo.
lo_is_file.close();
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
}
// Outro para.. digamos... ler o arquivo já armazenando em um Lis
public void LerArquivo()
{
is_linhas = is_buffer.split("\r\n");
io_linhas = Arrays.asList(is_linhas).listIterator();
}
// Outro para receber a linha atual do arquivo.
public String LinhaAtual()
{
return (io_linhas.hasNext() ? io_linhas.next() : "");
}
Depois a sequencial utilizada poderá ser feita:
// Abre o arquivo ...
AbrirArquivo();
// Armazena em um buffer as informações ...
is_buffer = new String(ih_buffer);
// Lê o arquivo...
LerArquivo();
// Utiliza-se essa forma para pegar a linha atual do arquivo ...
is_linha_atual = LinhaAtual();
Ou então.. para ficar em looping percorrendo todas as linhas do arquivo, poderá ser feito:
while (is_linha_atual = LinhaAtual()).trim().length() > 0) {....}
Sei lá!!! quem sabe trabalhar assim não é divertido?!
Tchauzin!