Im Beispiel substitution2.java wird der Inhalt der in der Parameterliste zuerst angegebenen Datei mit dem Substitutionsverfahren verschlüsselt und die die zweite Datei geschrieben.
import java.io.*;
public class substitution2 {
static File fi;
static File fo;
static DataOutputStream zeileraus;
static byte geheim[] = new byte[100];
static byte schluessel[] = new byte[26];
public static void main (String args[]) throws Exception {
fi = new File(args[0]);
fo = new File(args[1]);
try {
FileReader fri = new FileReader(fi);
BufferedReader zeilerein = new BufferedReader(fri);
FileOutputStream fro = new FileOutputStream(fo);
zeileraus = new DataOutputStream(fro);
String sl = "radioktvezflbcghjmnpqsuwxy";
schluessel = sl.getBytes();
String zeile = zeilerein.readLine();
while (zeile != null) {
verschluessle(zeile);
zeile = zeilerein.readLine();
}
}
catch (FileNotFoundException e) {
System.out.println("Datei nicht vorhanden");
}
}
public static void verschluessle(String zeile) {
geheim = zeile.getBytes();
for (int i=0;i<geheim.length;i++) {
if (geheim[i]>=90) geheim[i]-=32;
geheim[i]=schluessel[geheim[i]-65];
}
try {
for (int i=0;i<geheim.length;i++) {
zeileraus.write(geheim[i]);
}
zeileraus.write('\n');
}
catch (IOException e) {
System.err.println(e.toString());
}
}
}