Java Reference
In-Depth Information
Der Dateiname wird mit relativem Pfad definiert, damit die Datei jeweils im Projektord-
ner angelegt wird:
private String dateiname = "." + File.separator + "verschluesselt.txt";
Zum verschlüsselten Speichern wird die folgende Methode mit der Schaltfläche Spei-
chern verknüpft:
private void jBtnSpeichernActionPerformed(ActionEvent evt) {
VerschluesseltWriter out = null;
try {
out = new VerschluesseltWriter(new FileWriter(dateiname));
out.write(jTextPane.getText());
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Fehler beim Speichern!");
} finally {
if (out != null) {
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
12
}
}
}
}
Listing 12.10
Methode zum verschlüsselten Speichern
Um auf eventuelle Fehler zu reagieren, wird der Speichern-Vorgang in einen
try-catch
-
Block integriert, der jegliche Art von Exception abfängt. Zuerst wird ein
Verschluesselt-
Writer
-Objekt mit dem Namen
out
erzeugt. Dem Konstruktor wird als Argument ein
FileWriter
mitgegeben. Mit diesem arbeitet der
VerschluesseltWriter
zusammen. Da
die Kommunikation zwischen den beiden vollständig gekapselt ist, müssen Sie den
FileWriter
nicht als lokale Variable definieren. Er wird beim Aufruf des Konstruktors
mit
new
und dem Dateinamen der zu verwendenden Datei erzeugt und dem
Ver-
schluesseltWriter
übergeben.
Den Text eines
JTextPane
können Sie in gleicher Weise wie bei einem JTextField mit der
Methode
getText
als String entnehmen und der
write
-Methode des
Verschluesselt-
Writer
übergeben. Dadurch, dass er den Text an den
FileWriter
weiterreicht und dieser
den Schreibvorgang in die Datei abwickelt, ist damit der gesamte Schreibvorgang abge-
schlossen, und der Stream kann mit
close
geschlossen werden.