Balík New Input/Output (nio)

Tomáš Pitner, upravil Marek Šabo
tomp@fi.muni.cz

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

  • 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ů
    • 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

/