Percorrendo uma string-

Olá galera primeira vez aqui no fórum, então desde já peço desculpas caso eu tenha postado no lugar errado :).
Minha dúvida é a seguinte:
Estou fazendo um programa e tenho que pegar a string de um arquivo até ai blz… ai eu tenho que copiar em um outro arquivo no caso freqüência para escreve a letra e a quantidade de vezes (frequencia) que ela aparece:
por exemplo: li o arquivo que continha “arara ararara ararara” ai no arquivo freqüência teria como resultado:
“a = 11
r = 8
= 2”

acho que deu pra entender o em branco ali é o espaço…

ai segue o código que fiz:

public class Main {

public static void main(String[] args) throws IOException {

    String pedaco;
    String texto;
    //lendo o arquivo TEXTOCOMUM
    FileReader reader = new FileReader("TEXTOCOMUM.txt");
    BufferedReader leitor = new BufferedReader(reader);

    texto = leitor.readLine();
    texto = texto.toLowerCase();
    reader.close();
    leitor.close();

    //criando o arquivo FREQUENCIA para escrever
    FileWriter escrever = new FileWriter("FREQUENCIA.txt", false);
    PrintWriter letraEfreque = new PrintWriter(escrever, true);

    //percorrendo caracter por caracter para ver a sua frequência
    for (int i = 0; i < texto.length(); i++) 
    {
        int frequencia = 1;
        int z = 0;
        pedaco = texto.substring(z, i + 1);
        while (z < i) {
            if (pedaco.charAt(z) == pedaco.charAt(i)) 
            {
                i++;
                break;
            } else 
            {
                z++;
            }
        }

        int x = i + 1;
        while (x < texto.length()) 
        {
            if (texto.charAt(i) == texto.charAt(x)) 
            {
                frequencia++;
            }
            x++;
        }

        letraEfreque.println(texto.charAt(i) + " = " + frequencia);
    }

    escrever.close();
    letraEfreque.close();

}

}

quando vejo o meu arquivo final ele começa certo e tal, mas pra frente começa a repetir letra again…
Alguém pode me dizer onde estou errando?
Obrigado desde já quem ajudar ai! :wink: