Quebrar um arquivo de texto por ponto final

3 respostas
Algebra

tem um arquivo de texto que está com linhas continuas, estou querendo quebrar ele em linhas por ponto final. Estou tentando com este código abaixo mas não está dando certo, alguem pode me dar uma mãozinha?

public static void formatSenteces(File entrada, File saida){

        // cria o Scanner para ler e o PrintWriter para escrever
        Scanner sc = null;
        PrintWriter pw = null;
        try {
            sc = new Scanner(entrada);
            pw = new PrintWriter(saida);
            // enquanto houverem mais linhas na entrada
            while (sc.hasNextLine()) {
                String linha = sc.nextLine();
                // adiciona quebra de linha

                linha = linha.replaceAll(".", ".\n");       

          }
            // informa que tudo correu bem
            System.out.println("Arquivo processado com sucesso!");
        } catch (FileNotFoundException e) {
            // como verificamos se os arquivos existiam antes, isso não deve ocorrer
            // mesmo assim é boa prática capturar e tratar essa exceção
            System.err.println("Não foi possível econtrar arquivo: " + e.getMessage());
        } finally {
            // para finalizar, fechamos os recursos que usamos
            if (sc != null) {
                sc.close();
            }
            if (pw != null) {
                pw.flush();
                pw.close();
            }
        }
    }

Abraços

3 Respostas

E

replaceAll requer uma expressão regular, e “.” é uma expressão regular que bate com qualquer caracter.

Use “replace” mesmo.

D

Olhando o código, faltou você salvar o arquivo novamente

Algebra

é verdade diego faltou só um:

pw.println(linha);
Criado 6 de agosto de 2012
Ultima resposta 6 de ago. de 2012
Respostas 3
Participantes 3