[Ajuda]Percorrer a linha e a proxima linha

2 respostas
V

Bom dia pessoal

Estou fazendo um sisteminha que converte de uma linguagem para a outra.

Dai estou fazendo a leitura de um txt que o usuário digita e converto para outra linguagem

Aquiii está um trecho do código que quebra a linha

public void stringToken(String strCaminho) {
        String linha = "";
        String chave = "";

        File fileArquivo = new File(strCaminho);

        FileReader readArquivo = null;
        try {
            readArquivo = new FileReader(fileArquivo);
        } catch (FileNotFoundException ex) {
            Logger.getLogger(Parser.class.getName()).log(Level.SEVERE, null, ex);
        }
        BufferedReader bufferLeitor = new BufferedReader(readArquivo);


        do {
            try {
                linha = bufferLeitor.readLine();
            } catch (IOException ex) {
                Logger.getLogger(Parser.class.getName()).log(Level.SEVERE, null, ex);
            }
            if ((linha != null) && (!linha.isEmpty())) {
                linha.trim();
                chave = linha;
                if (chave.indexOf("}") != -1) {
                    chave = chave.substring(chave.indexOf("}"), chave.indexOf("}") + 1);
                }
                if ((chave.equals("}")) && (bolFechaChave == true)) {
                    strConvertido = strConvertido + "End;" + System.getProperty("line.separator");
                    bolFechaChave = false;
                } else {
                    centralConversao(linha);
                }
            }

        } while (linha != null);

        try {
            bufferLeitor.close();
        } catch (IOException ex) {
            Logger.getLogger(Parser.class.getName()).log(Level.SEVERE, null, ex);
        }
        try {
            readArquivo.close();
        } catch (IOException ex) {
            Logger.getLogger(Parser.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

Porém eu gostaria de ler a proxima linha e retornar para a linha anterior, pq na linguagem C eu posso fazer um if{} else {}
Mas, em pascal se tiver um else a ultima linha antes do else não pode ter ";" por isso eu teria que ler a proxima linha...

Um abraço

2 Respostas

M

Veja os metodos mark e reset da BufferedReader

E

http://download.oracle.com/javase/6/docs/api/java/io/PushbackReader.html

O “ungetc” do C ( http://www.cplusplus.com/reference/clibrary/cstdio/ungetc/ ) é o “unread” do PushbackReader. Simples, não?

Criado 11 de novembro de 2010
Ultima resposta 11 de nov. de 2010
Respostas 2
Participantes 3