Hum j'ai regardé vite fait à priori tu encrypte lettre par lettre et à chaque fois tu écrit dans le fichier sauf que :
PrintWriter fichier_sortie = new PrintWriter(new FileWriter("D:/Fichier_crypté.txt", false));
Ici le false veut dire que tu écrase le contenu du fichier à chaque fois. Donc même si ça fonctionnait à la fin tu n'aurai que la dernière lettre dans le fichier.
De toute façon je pense qu'il faut éviter de faire comme ça les ouvertures / fermetures de fichier sont à limiter le plus possible. Tu devrait stocker ta chaine encodée dans une variable et ne l'écrire qu'à la fin dans ton fichier.
Mais déjà transforme le false en true voir ce que ça donne.
Partager