import java.io.*; public class decaesar1 { static byte klar [] = new byte[100]; public static void main (String args[]) throws Exception { File f = new File(args[1]); try { FileReader fr = new FileReader(f); BufferedReader eingabe = new BufferedReader(fr); String zeile = eingabe.readLine(); while (zeile != null) { entschluessle (args[0], zeile); zeile = eingabe.readLine(); } } catch (FileNotFoundException e) { System.out.println(args[1] + " - Datei nicht vorhanden"); } } public static void entschluessle(String stellen, String zeile) { klar = zeile.getBytes(); for (int i=0; i<klar.length;i++) { klar[i]-= (byte) Integer.parseInt(stellen); if (klar[i]<65) klar[i]+=26; } ausgabe(); } public static void ausgabe() { String s=""; for (int i=0;i<klar.length;i++) { char interim = (char) klar[i]; s+=interim; } System.out.println("\n" + s); } }
Beim Aufruf des Entschlüsselungverfahrens werden zwei Parameter angegeben: Der erste Parameter beschreibt die erfolgte Verschiebung, und der zweite Parameter enthält den Namen der Datei, in der die verschlüsselte Nachricht enthalten ist:
alfred@duron:~/java/kurs/krypto> java decaesar1 3 caesartext.chf DIESISTEINTESTINFORMATIKISTSCHOENSAGTEININFORMATIKLEHRERUNDLEHRERLUEGENNICHTSAGTDERLEHRER
Mit Hilfe der Exception lässt sich ein Dateinamefehler auffangen:
alfred@duron:~/java/kurs/krypto> java decaesar1 3 caesartext.ccc caesartext.ccc - Datei nicht vorhanden