Ler um arquivo txt apartir de um caracter e parar de ler apartir do mesmo caracter

Boa Noite
Estou desenvolvendo um programa e dentro dele
preciso ler arquivos txt.
Porém ele usa outro programa para gerar sintagmas nominais
e o programa gera o txt da seguinte forma:

Etiquetando o arquivo Ogma/teste1.txt
Escrevendo no arquivo temp$.txt
N£mero de palavras analisadas 39
Extraindo sintagmas do arquivo temp$.txt

a vida
outras pessoas
os nossos objetivos e muitas vezes
o sucesso
a nossa vida
nossos objetivos e muitas vezes um simples gesto

eu preciso ler o arquivo somente apartir de “a vida” e parar em " simples gesto"
Alguma sugestão ??
abaixo o código

[code]
public static void abrirArquivo() throws FileNotFoundException
{
String linha = null;
try {

     FileReader reader = new FileReader("Ogma/sintagmas.txt");  
     BufferedReader ler = new BufferedReader(reader);  

  
     while ((linha = ler.readLine()) != null) {  
                   
        StringTokenizer st = new StringTokenizer(linha, ";" );       
        String dados = st.nextToken();  
          
       
        System.out.print(dados);  
        System.out.println("");  
     }  

     ler.close();  
     reader.close();  

  } catch (Exception e) {  
     e.printStackTrace();  

  }  
}[/code]

Obrigado

Talvez expressões regulares resolvam o seu problema. A grosso modo, você poderia fazer algo assim:

vamos supor que eu quero verificar uma string, à procura da palavra “casa”. Eu poderia ler caractere por caractere e, a partir da letra inicial (c, neste caso), eu realizaria alguns testes, para saber se realmente se trata desta palavra.

String frase = "Maria e João têm uma casa amarela"; for (int i = 0; i < frase.length(); i++){ if (frase[i] = 'c') if (frase[i + 1] = 'a') if (frase[i + 2] = 's') if (frase[i + 3] = 'a') if (frase[i + 4] = ' ') System.out.printf("A palavra casa começa na posição %d e termina na posicao %d\n", i, i + 4);

É claro que esse código é apenas uma ilustração, mas este é um dos critérios que podem ser usados.

Neste caso não daria certo vou explicar direito o software.

O Software vai utilizar lógica Fuzzy para comparar a resposta discursiva
de um professor e a de um aluno e julgar se a resposta do aluno esta certa
e a porcentagem.
Para isso utilizei a extração de sintagmas nominais
utilizei o programa OGMA em C e executo ele pelo java
através de linha de comando.
Porém esse software gera aqueles outros textos
fora os sintagmas nominais ou seja
a cada questões discursiva os sintagmas nominais
são diferentes.

Ficou mais claro ?

Ao meu ver regex é a melhor solução, da uma olhada aqui para ver um conteúdo mais completo: http://docs.oracle.com/javase/tutorial/essential/regex/

Se quiser algo mais prático para iniciar (se é que não conhece regex), esse link é legal: http://stackoverflow.com/questions/677038/how-to-use-regular-expressions-to-parse-html-in-java

[quote=ricardocdc]Neste caso não daria certo vou explicar direito o software.

O Software vai utilizar lógica Fuzzy para comparar a resposta discursiva
de um professor e a de um aluno e julgar se a resposta do aluno esta certa
e a porcentagem.
Para isso utilizei a extração de sintagmas nominais
utilizei o programa OGMA em C e executo ele pelo java
através de linha de comando.
Porém esse software gera aqueles outros textos
fora os sintagmas nominais ou seja
a cada questões discursiva os sintagmas nominais
são diferentes.

Ficou mais claro ?[/quote]

Respondemos juntos. É, nesse caso não sei o que é melhor.

Eu pensei em começar a ler apenas depois de


que tem antes do texto que vai ser sempre igual em todos os sintagmas

e parar de ler também em

mais não sei fazer isso.

Tipo leia apenas depois de encontrar quantidade x de " - ".

Alguma dica ?

boolean encontrei = false;
StringBuffer bf = new StringBuffer();
while((linha = reader.readLine()) != null){
    if(linha.trim().matches("^\\-*$")){
        if(encontrei){
            break;
        }else{
            encontrei = true;
            continue;
        }
    }
    if(encontrei){
        sb.append(linha);
    }
}

to com sono hehehe, pode nao ser a melhor maneira, mas acho que funciona