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()); } } }