Java Reference
In-Depth Information
Die Zählvariable
i
wird, solange sie kleiner als die von
jListKontakteModel.getSize()
zurückgelieferte aktuelle Zeilenzahl der Listbox ist, um 1 erhöht. Die Zählvariable
i
kann
innerhalb der Schleife als Zeilen-Index verwendet werden, um mit
out.write(jListKontakteModel.get(i).toString());
die jeweilige Zeile in den
BufferedWriter
out
zu schreiben.
Die Methode
get(int
i)
des
DefaultListModel
liefert den Eintrag mit dem Index
i
als
Objekt zurück. Da die
write
-Methode des
BufferedWriter
einen String erwartet, wird für
das zurückgelieferte Objekt die Methode
toString()
aufgerufen, die das Objekt als
String zurückgibt.
Nach Verlassen der Schleife wird im
finally
-Zweig des
try-catch
-Konstrukts der
Stream mit der
close
-Methode geschlossen. Dadurch wird sichergestellt, dass der
Stream auch dann geschlossen wird, wenn beim Schreiben in die Datei Fehler auftreten.
Mit dem Schließen des Streams sind dann auch alle eventuell gepufferten Einträge in
die Datei geschrieben. Auch beim Schließen der Datei wird auf eventuell auftretende
Exceptions reagiert. Sie sollten die Existenz der Datei im Projektordner überprüfen. Sie
können die Datei mit einem beliebigen Editor öffnen und so auch den Inhalt der Datei
überprüfen.
12
Das folgende Listing zeigt den kompletten Quellcode der Methode:
private void jBtnEndeActionPerformed(ActionEvent evt) {
BufferedWriter out = null;
try {
out = new BufferedWriter(new FileWriter(dateiname));
for(inti=0;i<jListKontakteModel.getSize();i++){
out.write(jListKontakteModel.get(i).toString());
out.newLine();
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (out != null) {
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}