Balík New Input/Output (nio)

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<Path>, Iterable<Path>, 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

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.

  • Kompletní dokumentace Path API

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ů

    • 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

Replit.com demo ke třídě Path