Duvida em arquivos

Olá pessoal, eu tenho uma duvida com relação à arquivos em JAVA, eu tenho q fazer um trabalho sobre automatos, e as informações sobre o automato devem ser lidas de um arquivo com o seguinte formato:

Padronização para Autômatos

O arquivo deve ter a sequência a seguir

o que não começar com jogo da velha (#) é exemplo de entrada

linhas com jogo da velha são comentários e devem ser desprezados

tipo do autômato (AFD, AFN, AFE, AP, MMealy, MMoore, MT, etc.)

AFE

quantidade de estados - no exemplo os estados vão de q0 a q4

5

estados finais - no caso q2 e q4

2 4

símbolos terminais

& significa a palavra vazia e não é contada

a b

quantidade de transições

(estado anterior, símbolo lido, estado posterior)

exemplo1: q0 ao receber “a” vai para q1

0 a 1

exemplo2: q1 ao receber “a” vai para q2

1 a 2

exemplo3: q2 ao receber “b” vai para q3

2 b 3

exemplo4: q3 ao receber “a” vai para q4

3 a 4

exemplo5: q4 move-se para q1 com transição vazia

4 @ 1

caso seja uma MT (use simbologia semelhante para Mealy, Moore, AP):

q6 ao ler “a”, escreve “b” na fita, move a cabeça para a a esquerda (L) e vai para q7

6 a 7 b L

q2 ao ler “b” da fita e “A” da pilha, escreve “BXB” na pilha e vai para q8

2 b A 8 BXB

As linha q começam com # devem ser ignoradas, minha duvida é a seguinte:

É possível escolher q linha eu irei ler no arquivo?Por exemplo eu posso posicionar um “ponteiro” para ler a linhas 6 e depois posiciona-lo para ler a linha 10?É como se faz num arquivo de acesso aleatório, porem fazer isso com as linhas?

Desde já obrigado pela atenção.

Um arquivo-texto deve ser lido do começo para o fim, usando (por exemplo) java.io.BufferedReader; você só pode “pular” linhas ignorando o resultado da leitura (como é o caso dos comentários). Se você precisar ir para a linha 10, estando na linha 14, você precisa fechar o arquivo, e ler tudo de novo até chegar à linha 10.

Ou seja, você tem de ler as linhas, criar uma estrutura de dados correspondente a uma máquina de estados, e interpretar as instruções do seu autômato finito.

Amigo, se voce pretende ir e voltar nas linhas e tudo mais… além de facilitar a “contagem” das linhas, já que voce sabe as linhas exatas que tem que acessar, o que voce acha da idéia de jogar tudo para uma estrutura tipo um ArrayList, array…?

Cada linha do arquivo voce joga numa posição do array, dae voce pode acessar as posições facilmente… Algo como: array.get(10) //pega a linha 10 do arquivo

Espero que essa seja uma das muitas soluções possíveis para esse seu problema :smiley:

[quote=DanielSR]Amigo, se voce pretende ir e voltar nas linhas e tudo mais… além de facilitar a “contagem” das linhas, já que voce sabe as linhas exatas que tem que acessar, o que voce acha da idéia de jogar tudo para uma estrutura tipo um ArrayList, array…?

Cada linha do arquivo voce joga numa posição do array, dae voce pode acessar as posições facilmente… Algo como: array.get(10) //pega a linha 10 do arquivo

Espero que essa seja uma das muitas soluções possíveis para esse seu problema :D[/quote]

Otima ideia!Vlw cara.

[quote=clluiz86][quote=DanielSR]Amigo, se voce pretende ir e voltar nas linhas e tudo mais… além de facilitar a “contagem” das linhas, já que voce sabe as linhas exatas que tem que acessar, o que voce acha da idéia de jogar tudo para uma estrutura tipo um ArrayList, array…?

Cada linha do arquivo voce joga numa posição do array, dae voce pode acessar as posições facilmente… Algo como: array.get(10) //pega a linha 10 do arquivo

Espero que essa seja uma das muitas soluções possíveis para esse seu problema :D[/quote]

Otima ideia!Vlw cara.[/quote]

Estamos aí, fico feliz em ter ajudado! :smiley: