Java Grundkurs 3: Generische Programmierung, Datenströme, Datumsrechnung

Character Stream – Textdatei kopieren

Testen Sie unsere 1983 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Lassen Sie sich in diesem Video zeigen, wie Sie Textdateien mit den Character-Stream-Klassen FileReader und FileWriter kopieren.

Transkript

In diesem Video zeige ich Ihnen, wie Sie eine Textdatei mit Hilfe der Character String Klassen kopieren können. Als Textdatei verwende ich eine Beispieldatei, die ich Loremipsum.txt Genannt habe, das ist diese hier. Die Zieldatei nenne ich Kopie.txt. Die Initialisierung der Variablen in und out nehme ich mit den Klassen File Reader und Fill Writer vor, die von mir den Namen der Quelldatei und der Zieldatei nun erwarten. Ich schreibe also in= und dann new FileReader. Und den File Reader muss ich importieren. Und hier kommt jetzt die relative Pfadangabe meiner Datei rein. LoremIpsum.txt. Und das gleiche brauche ich jetzt auch für die Variable out und die muss ich initialisieren. Also out = und die Variable out initialisiere ich mit dem FileWriter. Und hier soll die Zieldatei Kopie.txt heißen Das Kopieren erfolgt nun auf ähnlicher Weise, wie bei einem InputStream und einem OutputStream denn auch bei dem Reader und Writer kann ich wieder mit einer while Schleife arbeiten und hierbei brauche ich zunächst eine Variable des Typs int. Da mir die Methode read einen int Wert liefert. Allerdings konnte der Wert bei der Methode read des Input Streams ja maximal lediglich den Wert 255 aufweisen. Dies ist nun aber anders, denn bei dem Reader kann die Methode read einen Rückgabewert liefern, der maximal den Wert 65535 aufweist. Als nächstes lese ich die Unicode Zeichen ein und schreibe sie in den Ausgabestrom. Das Einlesen werde ich im Kopf der while Schleife vornehmen. Also while und dann c = in.read Und wenn der Wert eine -1 aufweist, soll die Schleife nicht mehr durchlaufen werden, also ungleich -1 sorgt dafür, dass die Schleife nur durchlaufen werden, wenn der Wert nicht -1 beträgt. Weil nun an mehreren Stellen File Not Found IO Exceptions ausgelöst werden, könnte ich diese in einem Try Catch Block auffange und behandeln. Das erspare ich Ihnen aber jetzt, indem ich einfach bloß die Methode Main mit einem Throws IO Exception versehe und auch den Constructor. Ich werde mir jetzt hier helfen lassen, von Eclipse. Add throws declaration und auch hier Add throws declaration aus dem Kontext-Menü auswählen und dann bin ich die Behandlung der Fehler-Ereignisse los. So und innerhalb der while Schleife werde ich jetzt in den OutputStream des File Writers reinschreiben also out. und dann write und hier schreibe ich jetzt das c hinein. Das Einzige worum ich mich noch kümmern werde, ist, dass mein Datenstrom ordentlich geschlossen wird. Hierfür packe ich diese Anweisung hier in einen Try-Block ein und rufe im Finally Block die close Methode auf. So das ist der Try Block und jetzt brauche ich das Schlüsselwort finally und hier rufe ich auf in.close() und out.close(). Und um sicherzugehen, dass ich die close Methode nicht auf einer null Referenz ausführe, frage ich vorher noch jeweils, ob das jeweilige Datenstrom Objekt bereits mit einem gültigen Objekt initialisiert worden ist. Also,if (in != null) und auch hier if ( out != null). Und das probieren wir jetzt einmal aus. So und wie Sie sehen, wurde die Datei kopiert. Das Original sieht so aus und die Kopie müsste identisch sein. In diesem Video habe ich Ihnen gezeigt, wie Sie Character Stream Klassen File Reader und File Writer einsetzen, um eine Textdatei zu kopieren. Beachten Sie, dass ich in dem kleinen Beispielprogramm auf die Behandlung der Fehlerereignisse und der Try With Resources Technik verzichtet habe. Dies soll allerdings nicht heißen, dass die Behandlung von Fehlerereignisse und die Try With Resources Technik nicht die bevorzugte Best Practice darstellt. Betrachten Sie es einfach als kleine Fingerübung, diese Techniken selbst zu programmieren. Die Vorgehensweise entspricht der, die ich Ihnen bei den Byte Streams gezeigt habe.

Java Grundkurs 3: Generische Programmierung, Datenströme, Datumsrechnung

Steigen Sie tiefer in die Java-Programierung ein und lernen Sie den Umgang mit generischen Typen, Lamda-Ausdrücken, DAtenströmen und mit Datums- und Zeitberechnung.

5 Std. 24 min (47 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Hersteller:
Software:
Exklusiv für Abo-Kunden
Erscheinungsdatum:09.10.2016

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!