Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

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

Mit Attributen kopieren und Zieldatei ersetzen

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Lassen Sie sich in diesem Video die Optionen zeigen, die Ihnen beim Kopieren einer Datei mit der NIO2 API zur Verfügung stehen.

Transkript

In diesem Video lernen Sie die Optionen kennen, die Ihnen beim Kopieren einer Datei mit der NIO2 API zur Verfügung stehen. Betrachten wir also nochmal die Kopieraktion mit der Methode Copy. Denn die Möglichkeiten, die hierbei bestehen, haben wir noch nicht ausgeschöpft. Und zwar ist es so, dass wir der Methode Copy noch einen dritten Parameter mitgeben können, über den wir drei unterschiedliche Kopieroptionen einstellen können. Wenn ich den Mauszeiger jetzt über die Methode Copy halte, dann erscheint ja diese Java Doc Hilfe und hier sehen Sie, dass ich der Methode Copy noch einen dritten Übergabe-Parameter übergeben kann, eine sogenannte CopyOption... ist das von der Klasse her. Weil dies als Var Args Ausdruck hier deklariert worden ist, brauchte ich die CopyOption... nicht zwingend hinzuzufügen. Aber jetzt schauen wir uns an, was wir mit dieser CopyOption... erreichen können. Ich erzeuge also oberhalb des Aufrufs von Copy ein Objekt des Typs Copy Option. Zunächst deklariere ich eine Variable CopyOption. Die Variable nenne ich options. Und ich importierte Copy Option und welche Copy Options existieren, kann ich mir anschauen, indem ich die Klasse StandardCopyOptions aufrufe und dort den Punkt Operator hinzufüge. Dann sehen Sie hier die drei Konstanten ATOMIC_ MOVE, COPY_ ATTRIBUTES und REPLACE_ EXISTING. Mit REPLACE_ EXISTING sage ich aus, dass eine eventuell bereits vorhandene, gleich benannte Zieldatei ersetzt werden soll. Nun könnte es sein, dass es sich bei dem Path um ein Verzeichnis handelt. In diesem Fall hängt das Überschreiben nun davon ab, ob das bereits vorhandene, gleich benannte Verzeichnis Kind Elemente, das heißt Dateien oder innere Verzeichnisse enthält. Dann würde das Überschreiben nämlich abgelehnt werden. Und das wähle ich jetzt auch aus, REPLACE_EXISTING. Da ich mich jetzt für diese CopyOption entschieden habe und die CopyOption als dritten Übergabe- Parameter hinter Target jetzt hinzufüge, kann ich die Zieldatei also immer wieder überschreiben, ohne mich um die Löschung der alten Zieldatei kümmern zu müssen. Und das probieren wir jetzt mal aus. Ich drücke auf Play und Refreshe mein Projekt über F5 und dann sehen Sie, dass ich hier eine Kopie erzeugt habe. Ich kann das Programm immer wieder ausführen und dann wird mir die Kopie immer wieder erneut erzeugt. Jetzt werde ich Ihnen noch eine Copy Option zeigen und zwar können Sie mit Copy Attributes erreichen, dass die Dateiattribute mitkopiert werden. Dateiattribute zeigen beispielsweise an, wann eine Datei zuletzt verändert worden ist und wer der Owner der Datei ist und so weiter. Diese Copy Option will ich also auch gleich mit haben. Hierfür habe ich zwei Möglichkeiten. Entweder ich führe die Attribute hintereinander auf oder ich setze sie als Array. Beides ist möglich, weil die Methode Copy ja ein Var Args Ausdruck definiert. Dies wäre also die eine Option, indem ich einmal die ganze Zeile der Options kopiere und dann sage Option1 und Option2 und dann kann ich dort noch ein Option2 hinzufügen. Ich kann aber auch hingehen und Options als Array deklarieren. Und dann brauche ich geschweifte Klammern, um die einzelnen CopyOptions hintereinander aufzuführen. So, jetzt habe ich in dem Array zwei CopyOptions und jetzt kann ich die Options auch einfachalsdritten Übergabe Parameter übergeben, das funktioniert also auch. Hier fehlt noch ein Semikolon und dann wäre das Programm fertig. Und jetzt werde ich Ihnen noch eine Copy Option zeigen und die nennt sich Copy Attributes. Und zwar können Sie mit Copy Attributes erreichen, dass die Dateiattribute mit kopiert werden. Dateiattribute zeigen beispielsweise an, wann eine Datei zuletzt verändert worden ist oder wer der Owner der Datei ist und so weiter. Diese Copy Option möchte ich also auch gleich mithaben. Hierfür habe ich nun zwei Möglichkeiten. Entweder ich führe die Attribute hintereinander auf oder ich setze sie als Array. Beides ist möglich, weil die Methode Copy ja ein Var Args Ausdruck definiert, beziehungsweise erwartet. Dies wäre also die eine Option, dass ich eine zweite Copy Option erzeuge. Option1, Option2 und bei der zweiten COPY_ATTRIBUTES auswähle und hier Option1 und Option2 anfüge. Eine andere Möglichkeit ist es eben, ein CopyOption Array zu erzeugen. Dann brauche ich geschweifte Klammern für die Initialisierung meiner Copy Options. So und jetzt füge ich dem Array diese beiden Copy Options hinzu. Das sehen Sie jetzt hier und nun kann ich das Array übergeben und hätte nun beide Attribute bei der Kopieraktion berücksichtig. Ich kopiere die Datei jetzt erneut, indem ich das Programm nochmal ausprobiere. Ein Semikolon fehlt hier noch. So, jetzt probiere ich das Beispielprogramm nochmal aus. Und jetzt sollten dann die Attribute von der Datei Java.JPG gleich mitkopiert worden sein, zu der Datei Kopie.JPG. In diesem Video haben Sie die Optionen kennengelernt, die Ihnen beim Kopieren mit der NIO2 API zur Verfügung stehen.

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!