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