Balík New Input/Output (nio) Tomáš Pitner, Radek Ošlejšek, Marek Šabo Balík java.nio • Třída Path jako nová a mocnější reprezentace cesty k souboru • Pomocná třída Paths • Pomocná třída Files pro pokročilejší manipulaci se soubory Path • Nástupce File, konceptuálně zhruba totéž, ale s více možnostmi • Instance jsou nemodifikovatelné a vláknově bezpečné. • Podporuje více systémů souborů na jednom počítači • Nabízí metody jako getFileName, getParent, getRoot a subpath. • Objekt Path je porovnatelný, iterovatelný a sledovatelný (Comparable, Iterable, Watchable). • Zejména sledovatelnost je novou vlastností, umožňuje reagovat na změny v systému souborů (např. v adresáři). Zajímavé metody Path • Kompletní dokumentace Path API • Užitečné metody: resolve umožňuje vyhodnotit danou cestu vůči jiné (např. relativní cestu vůči aktuálnímu adresáři) relativize naopak relativizuje, vytvoří relativní z absolutní, když zadáme výchozí adresář. startsWith, endWith podobně jako u řetězců, ale funguje na úseky cesty. Files • Typická "utility class", třída nabízející statické metody. • Týkají se souborových systémů, souborů, adresářů atd. • Nabízí metody pro: ◦ kopírování ◦ mazání ◦ procházení (traverzace) systému souborů 1 ◦ přístup k metadatům souborů (čas, práva, uživatel) ◦ přímé vytváření proudů (např. newBufferedReader) • Další v tutoriálu Oracle File Operations • Kompletní dokumentace Files API 2