ocp 2


J. F.
Diese Lernkarten behandeln fortgeschrittene Java-Konzepte und richten sich an Entwickler, die ihre Kenntnisse vertiefen möchten. Sie konzentrieren sich auf Pfade, Dateien, Resultsets und Methoden, wobei auch statische und innere Klassen, Enums, Annotationen und Lambda-Ausdrücke behandelt werden. Die Karteikarten erklären Regeln und Eigenschaften dieser Konzepte, wie die SAM-Regel, private Methoden in Interfaces und die Verwendung von Annotationen. Entwickler profitieren davon, um komplexe Java-Funktionen besser zu verstehen und effizienter zu nutzen.
Karten
141
Lernende
2
Sprache
Deutsch
Kategorie
Informatik
Stufe
Andere
Erstellt / Aktualisiert
22.09.2020 / 06.12.2020

Lernkarten

Wie kann man aus einem Path object ein File-objekt machen?

path.toFile(),

Muss die File existieren wenn man das parent/root directory eines Pathobjects auslesen möchte?

Nein

Kann man alle Funktionen der Path-Klasse nutzen ohne dass die File existiert?

Nein, Path.toRealPath() bspw nicht

Was macht der optionale Parameter und für was wird er genutzt? NOFOLLOW_LINKS

Symbolische links werden nicht traversed

-> test file existing, read file data, copy file, move file

Was macht der optionale Parameter und für was wird er genutzt? FOLLOW_LINKS

symbolische links werden traversed

-> traverse a directory-tree

Was macht der optionale Parameter und für was wird er genutzt? COPY_ATTRIBUTES

alle metadaten über eine file werden mitkopiert

-> copy file

Was macht der optionale Parameter und für was wird er genutzt? REPLACE_EXISTING

wenn targetfile existiert wird sie reülaced (ohne den parameter wird eine exception geworfen wenn die file schon existiert)

-> copy file, move file

Was macht der optionale Parameter und für was wird er genutzt? ATOMIC_MOVE

operation wird atomic ausgeführt, stellt sicher dass jeder prozess nur einen kompletten record sieht. Wenn das feature nicht supported ist im filesystem wird ggfs. eine exception geworfen

-> move file

Was gibt es für Methoden bei Path um basic informations über die Pfad-repräsentation zu bekommen?

* toString() : string repräsentation des gesamten Pfads

* getNameCount(): liste von namen im Pfad (happy/hippo/.. )

* getName(int) meist mit der methode oben verwendet, index ist index im pfad 

Wie ist getName(int) indexed? was passiert mit dem root-element?

zero-index, file-system-root ist excluded

Wie erhält man den Filename eines PAth-objects? was ist besonders

getFileName() -> returned neue Pathinstanz mit dem filename

Wie erhält man den parent eines Paths? was ist besonders

getParent() returned null wenn kein parentpath, Wenn der Path relative ist hört die methode im top-lvl des paths auf, geht nicht zum filesystemroot

Wie erhält man den Root eines path-ojbjects? was ist besonders?

getRoot(), wenn relative dann null.

Wie kann man bei einem Pathobject checken ob es absolute ist=

isAbsolute()

Wie bekommt man ein abdsolutes Pathobject aus einem relativen Pathobject?

toAbsolutePath(), wenn schon absolute bekommt man eine kopie zurück

Wie kann man einen relativen "teil"-Path von einem anderen Path erstellen?

subpath(inclusiveInt, exclusiveInt)

Wie kann man zwei Paths relativ zueinander machen? (schauen wie man vom einen objekt zum anderen kommen würde)

mit relativize(Path)

Wie kann man zwei Path-objecte zusammenkleben?

mit resolve(Path)

Worauf muss man bei Path.resolve und relativize achten?

Pfade werden nicht normalisisiert (.. und co im pfad). -> Danach normalize() aufrufen

Was wäre hier die Ausaabe?

final Path path1 = Paths.get("/turkey/food");
final Path path2 = Paths.get("/tiger/cage");
System.out.println(path1.resolve(path2));

/tiger/cage

Checkt normalize() ob die FIle wirklich existiert?

nein

Was ist eine Alternative zu toAbsolutePath? Was sind die Besonderheiten?

toRealPath(Path) -> verified dass der Path wirklich existiert (sonst IOException), supported NOFOLLOW_LINKS, ruft implizid normalice() auf

Wie kann man herausfinden ob eine File existiert?

Files.exists(Path)

Wie kann man checken ob zwei Paths auf die selbe File verweisen? Wie funktioniert der check?

Files.isSameFile(Path, Path) -> checkt mit equals ob gleich, wenn nicht werden pfade aufgelöst ud dann gecheckt ob die files gleich sind. wenn die file nicht existiert: IOException

Wie kann man Directories erstellen?

Files.createDirectory(Path), bzw. Files.createDirectories(Pasth) -> erstellt directories im pfad bis nach oben

Was passiert bei createDirectory() wenn parent directories nicht existieren?

IOException

Wie kann man FIles/Directories kopieren?

Files.copy(Path,Path)

Sind mit FIles.copy() kopierte directories shallow oder deep copies?

shallow

Was für überladene copy-methoden behinaltet die NIO.2 files API? 

Zwei die mit streams arbeiten können:

* copy(sourceInputStream, targetPathObject)

* copy(sourcePathObject, targetOutputStream)

Wie kann man eine FIle verschieben/umbenennen?

Mit Files.move(path,path)  -> IOException wenn file nicht exestiert

Was ist das Standartverhatlten von Files.move() und wie kann es geändert werden?

folgt links, wirft exception wenn file bereits existiert, kein atomic move
-> NOFOLLOW_LINKS, REPLACE_EXISTING, ATOMIC_MOVE

Wie kann man eine File/directory löschen?

* Files.delete(path)

FIles.deleteIfExists(path)

Was passiert bei Files.delete wenn die file nicht existiert? Was wenn das directory nicht leer ist?

IOException / DirectoryNotEmptyException

Wie kommt man an das default-charset der VM?

Charset.defaultCHarset()

Wie kann man eine File an einem Pfad mit ienem BufferedReader object lesen?

Files.newBufferedReader(Path, Charset)

Wie kann man mit einem BufferedWriter in eine File schreiben?

Files.newBufferedWriter(Path, Charset)

Was passiert bei Files.newBufferedWriter wenn die file bereits existiert?

Sie wird überschrieben

Wie kann man eine textfile lesen und alle lines als geordnete liste mit string-werten erhalten?

Mit Files.readAllLines

Worauf muss man bei Files.readAllLines achten?

Wenn die File zu groß für den speicvher ist kann eine OutOfMemoryError geschmissen werden

Sind File-metadaten OS-abhängig?

ja

Lernen