インタフェースPath

ã™ã¹ã¦ã®ã‚¹ãƒ¼ãƒ‘ー・インタフェース:
Comparable<Path>, Iterable<Path>, Watchable

public interface Path extends Comparable<Path>, Iterable<Path>, Watchable
ファイル・システム内ã®ãƒ•ァイルを特定ã™ã‚‹ãŸã‚ã«ä½¿ç”¨å¯èƒ½ãªã‚ªãƒ–ジェクトã§ã™ã€‚ 通常ã€ãれã¯ã‚·ã‚¹ãƒ†ãƒ ã«ä¾å­˜ã™ã‚‹ãƒ•ァイル・パスを表ã—ã¾ã™ã€‚

Pathã¯ã€ç‰¹åˆ¥ãªåŒºåˆ‡ã‚Šæ–‡å­—ã§åŒºåˆ‡ã‚‰ã‚ŒãŸä¸€é€£ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªåãŠã‚ˆã³ãƒ•ァイルåã®è¦ç´ ã§æ§‹æˆã•れる階層構造ã®ãƒ‘スを表ã—ã¾ã™ã€‚ ルート・コンãƒãƒ¼ãƒãƒ³ãƒˆ (ファイル・システム階層を識別ã™ã‚‹ã‚‚ã®)ãŒå­˜åœ¨ã™ã‚‹å ´åˆã‚‚ã‚りã¾ã™ã€‚ ディレクトリ階層ã®ãƒ«ãƒ¼ãƒˆã‹ã‚‰ã‚‚ã£ã¨ã‚‚é ã„åå‰è¦ç´ ã¯ã€ãƒ•ァイルã¾ãŸã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®åå‰ã§ã™ã€‚ ãã®ä»–ã®åå‰è¦ç´ ã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªåã§ã™ã€‚ Pathã¯ã€ãƒ«ãƒ¼ãƒˆã€ãƒ«ãƒ¼ãƒˆã¨ä¸€é€£ã®åå‰ã€ã¾ãŸã¯å˜ã«1ã¤ã¾ãŸã¯è¤‡æ•°ã®åå‰è¦ç´ ã®ã¿ã‚’表ã™ã“ã¨ãŒã§ãã¾ã™ã€‚ Pathã¯ã€1ã¤ã®ç©ºã®åå‰è¦ç´ ã®ã¿ã§æ§‹æˆã•れる場åˆã¯ç©ºã®ãƒ‘スã¨ã¿ãªã•れã¾ã™ã€‚ 空ã®ãƒ‘スを使用ã—ã¦ãƒ•ァイルã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã“ã¨ã¯ã€ãƒ•ァイル・システムã®ãƒ‡ãƒ•ォルト・ディレクトリã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã“ã¨ã¨åŒã˜ã§ã™ã€‚ Pathã¯ã€ãƒ‘ス・コンãƒãƒ¼ãƒãƒ³ãƒˆã¾ãŸã¯ãã®åå‰è¦ç´ ã®ã‚µãƒ–シーケンスã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ãŸã‚ã®getFileNameã€getParentã€getRootã€ãŠã‚ˆã³subpathメソッドを定義ã—ã¾ã™ã€‚

Pathã¯ã€ãƒ‘ス・コンãƒãƒ¼ãƒãƒ³ãƒˆã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã»ã‹ã«ã€ãƒ‘スをçµåˆã™ã‚‹ãŸã‚ã®resolveãŠã‚ˆã³resolveSiblingメソッドも定義ã—ã¾ã™ã€‚ relativizeメソッドを使用ã™ã‚‹ã¨ã€2ã¤ã®ãƒ‘ス間ã®ç›¸å¯¾ãƒ‘スを構築ã§ãã¾ã™ã€‚ startsWithãŠã‚ˆã³endsWithメソッドを使用ã—ã¦ãƒ‘ã‚¹ã‚’ç›¸äº’ã«æ¯”較ã—ãŸã‚Šã€ãƒ†ã‚¹ãƒˆã—ãŸã‚Šã§ãã¾ã™ã€‚

ã“ã®ã‚¤ãƒ³ã‚¿ãƒ•ェースã¯ã€Watchableインタフェースを拡張ã—ã¦ã€ãƒ‘ã‚¹ã§æ¤œç´¢ã•れるディレクトリをWatchServiceã¨ç›£è¦–ã•れるディレクトリ内ã®ã‚¨ãƒ³ãƒˆãƒªã«ç™»éŒ²ã§ãã¾ã™ã€‚

警告: ã“ã®ã‚¤ãƒ³ã‚¿ãƒ•ェースã¯ã€ã‚«ã‚¹ã‚¿ãƒ ãƒ»ãƒ•ァイル・システムã®å®Ÿè£…を開発ã™ã‚‹äººã«ã‚ˆã£ã¦å®Ÿè£…ã•れるã“ã¨ã®ã¿ã‚’目的ã¨ã—ã¦ã„ã¾ã™ã€‚ å°†æ¥ã®ãƒªãƒªãƒ¼ã‚¹ã§ã¯ã€ã“ã®ã‚¤ãƒ³ã‚¿ãƒ•ェースã«ãƒ¡ã‚½ãƒƒãƒ‰ãŒè¿½åŠ ã•れるå¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚

ファイルã¸ã®ã‚¢ã‚¯ã‚»ã‚¹

Filesクラスã§Pathを使用ã™ã‚‹ã“ã¨ã§ã€ãƒ•ァイルã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã€ãŠã‚ˆã³ãã®ä»–ã®ç¨®é¡žã®ãƒ•ァイルをæ“作ã§ãã¾ã™ã€‚ ãŸã¨ãˆã°ã€BufferedReaderã§ãƒ•ァイル「access.logã€ã‹ã‚‰ãƒ†ã‚­ã‚¹ãƒˆã‚’読ã¿å–ã‚‹ã¨ã—ã¾ã™ã€‚ ファイルã¯ã€ç¾åœ¨ã®ä½œæ¥­ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‹ã‚‰ã®ç›¸å¯¾ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã€Œlogsã€ã«ã‚りã€UTF-8å½¢å¼ã§ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã•れã¦ã„ã¾ã™ã€‚

    Path path = FileSystems.getDefault().getPath("logs", "access.log");
    BufferedReader reader = Files.newBufferedReader(path, StandardCharsets.UTF_8);

相互é‹ç”¨æ€§

デフォルト・プロãƒã‚¤ãƒ€ã«é–¢é€£ä»˜ã‘られãŸPathã¯é€šå¸¸ã€java.io.Fileクラスã¨ç›¸äº’é‹ç”¨å¯èƒ½ã§ã™ã€‚ ã»ã‹ã®ãƒ—ロãƒã‚¤ãƒ€ã«ã‚ˆã£ã¦ä½œæˆã•れãŸPathã¯ã€java.io.Fileã§è¡¨ã•れる抽象パスåã¨ç›¸äº’é‹ç”¨å¯èƒ½ã§ã‚ã‚‹ã“ã¨ã¯ã¾ã‚Œã§ã™ã€‚ toPathメソッドを使用ã™ã‚‹ã¨ã€java.io.Fileオブジェクトã§è¡¨ã•れる抽象パスåã‹ã‚‰Pathã‚’å–å¾—ã§ãã¾ã™ã€‚ çµæžœã®Pathを使用ã™ã‚‹ã¨ã€java.io.Fileオブジェクトã¨åŒã˜ãƒ•ァイルをæ“作ã§ãã¾ã™ã€‚ ã¾ãŸã€toFileメソッドã¯ã€Pathã®String表ç¾ã‹ã‚‰ Fileを構築ã™ã‚‹å ´åˆã«ä¾¿åˆ©ã§ã™ã€‚

åŒæ™‚実行性

ã“ã®ã‚¤ãƒ³ã‚¿ãƒ•ェースã®å®Ÿè£…ã¯ä¸å¤‰ã§ã‚りã€è¤‡æ•°ã®ä¸¦è¡Œã‚¹ãƒ¬ãƒƒãƒ‰ã§å®‰å…¨ã«ä½¿ç”¨ã§ãã¾ã™ã€‚

å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
1.7
  • メソッドã®ã‚µãƒžãƒªãƒ¼

    修飾å­ã¨åž‹
    メソッド
    説明
    int
    compareTo(Path other)
    2ã¤ã®æŠ½è±¡ãƒ‘ã‚¹ã‚’èªžå½™çš„ã«æ¯”較ã—ã¾ã™ã€‚
    default boolean
    ã“ã®ãƒ‘スãŒã€endsWith(Path)ãƒ¡ã‚½ãƒƒãƒ‰ã§æŒ‡å®šã•れãŸã¨ãŠã‚Šã®æ–¹æ³•ã§æŒ‡å®šã®ãƒ‘ス文字列を変æ›ã™ã‚‹ã“ã¨ã§æ§‹ç¯‰ã•れるã€Pathã§çµ‚ã‚ã‚‹ã‹ã©ã†ã‹ã‚’テストã—ã¾ã™ã€‚
    boolean
    endsWith(Path other)
    ã“ã®ãƒ‘スãŒã€æŒ‡å®šã•れãŸãƒ‘スã§çµ‚ã‚ã‚‹ã‹ã©ã†ã‹ã‚’テストã—ã¾ã™ã€‚
    boolean
    equals(Object other)
    ã“ã®ãƒ‘ã‚¹ãŒæŒ‡å®šã•れãŸã‚ªãƒ–ジェクトã¨ç­‰ã—ã„ã‹ã©ã†ã‹ã‚’テストã—ã¾ã™ã€‚
    ã“ã®ãƒ‘スãŒç¤ºã™ãƒ•ァイルã¾ãŸã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®åå‰ã‚’Pathオブジェクトã¨ã—ã¦è¿”ã—ã¾ã™ã€‚
    ã“ã®ã‚ªãƒ–ジェクトを作æˆã—ãŸãƒ•ァイル・システムを返ã—ã¾ã™ã€‚
    getName(int index)
    ã“ã®ãƒ‘スã®åå‰è¦ç´ ã‚’Pathオブジェクトã¨ã—ã¦è¿”ã—ã¾ã™ã€‚
    int
    パス内ã®åå‰è¦ç´ ã®æ•°ã‚’è¿”ã—ã¾ã™ã€‚
    親ã®ãƒ‘スを返ã—ã¾ã™ã€‚ã“ã®ãƒ‘スãŒè¦ªã‚’æŒãŸãªã„å ´åˆã¯nullã‚’è¿”ã—ã¾ã™ã€‚
    ã“ã®ãƒ‘スã®ãƒ«ãƒ¼ãƒˆãƒ»ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã‚’Pathオブジェクトã¨ã—ã¦è¿”ã—ã¾ã™ã€‚ã“ã®ãƒ‘スãŒãƒ«ãƒ¼ãƒˆãƒ»ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã‚’æŒãŸãªã„å ´åˆã¯nullã‚’è¿”ã—ã¾ã™ã€‚
    int
    ã“ã®ãƒ‘スã®ãƒãƒƒã‚·ãƒ¥ãƒ»ã‚³ãƒ¼ãƒ‰ã‚’計算ã—ã¾ã™ã€‚
    boolean
    ã“ã®ãƒ‘スãŒçµ¶å¯¾ã‹ã©ã†ã‹ã‚’通知ã—ã¾ã™ã€‚
    default Iterator<Path>
    ã“ã®ãƒ‘スã®åå‰è¦ç´ ã‚’処ç†ã™ã‚‹ã‚¤ãƒ†ãƒ¬ãƒ¼ã‚¿ã‚’è¿”ã—ã¾ã™ã€‚
    ã“ã®ãƒ‘スã‹ã‚‰å†—é•·ãªåå‰è¦ç´ ã‚’削除ã—ãŸãƒ‘スを返ã—ã¾ã™ã€‚
    static Path
    of(String first, String... more)
    パス文字列ã€ã¾ãŸã¯çµåˆæ™‚ã«ãƒ‘ス文字列を形æˆã™ã‚‹æ–‡å­—列ã®ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã‚’変æ›ã™ã‚‹ã“ã¨ã«ã‚ˆã‚Šã€Pathã‚’è¿”ã—ã¾ã™ã€‚
    static Path
    of(URI uri)
    URIを変æ›ã™ã‚‹ã“ã¨ã«ã‚ˆã£ã¦Pathã‚’è¿”ã—ã¾ã™ã€‚
    default WatchKey
    register(WatchService watcher, WatchEvent.Kind<?>... events)
    ã“ã®ãƒ‘ã‚¹ã§æ¤œå‡ºã•れãŸãƒ•ァイルを監視サービスã«ç™»éŒ²ã—ã¾ã™ã€‚
    register(WatchService watcher, WatchEvent.Kind<?>[] events, WatchEvent.Modifier... modifiers)
    ã“ã®ãƒ‘ã‚¹ã§æ¤œå‡ºã•れãŸãƒ•ァイルを監視サービスã«ç™»éŒ²ã—ã¾ã™ã€‚
    ã“ã®ãƒ‘ã‚¹ã¨æŒ‡å®šã•れãŸãƒ‘スã¨ã®é–“ã®ç›¸å¯¾ãƒ‘スを構築ã—ã¾ã™ã€‚
    default Path
    resolve(String other)
    指定ã•れãŸãƒ‘ス文字列をPathã«å¤‰æ›ã—ã¦ã‹ã‚‰ã€resolveãƒ¡ã‚½ãƒƒãƒ‰ã§æŒ‡å®šã•れãŸã¨ãŠã‚Šã®æ–¹æ³•ã§ã€ã“ã®Pathã«å¯¾ã—ã¦è§£æ±ºã—ã¾ã™ã€‚
    default Path
    resolve(String first, String... more)
    パス文字列をパスã«å¤‰æ›ã—ã€ãã®ãƒ‘スをã“ã®ãƒ‘スã«å¯¾ã—ã¦è§£æ±ºã—ã¦ã‹ã‚‰ã€è¿½åŠ ã®ãƒ‘ス文字列ã«å¯¾ã—ã¦åŒã˜ãƒ—ロシージャを繰り返ã—実行ã—ã¾ã™ã€‚
    resolve(Path other)
    指定ã•れãŸãƒ‘スをã“ã®ãƒ‘スã«å¯¾ã—ã¦è§£æ±ºã—ã¾ã™ã€‚
    default Path
    resolve(Path first, Path... more)
    ã“ã®ãƒ‘スã«å¯¾ã—ã¦ãƒ‘スを解決ã—ã¦ã‹ã‚‰ã€è¿½åŠ ã®ãƒ‘スを繰り返ã—解決ã—ã¾ã™ã€‚
    default Path
    指定ã•れãŸãƒ‘ス文字列をPathã«å¤‰æ›ã—ã¦ã‹ã‚‰ã€resolveSiblingãƒ¡ã‚½ãƒƒãƒ‰ã§æŒ‡å®šã•れãŸã¨ãŠã‚Šã®æ–¹æ³•ã§ã€ã“ã®ãƒ‘スã®è¦ªãƒ‘スã«å¯¾ã—ã¦è§£æ±ºã—ã¾ã™ã€‚
    default Path
    指定ã•れãŸãƒ‘スをã“ã®ãƒ‘スã®è¦ªãƒ‘スã«å¯¾ã—ã¦è§£æ±ºã—ã¾ã™ã€‚
    default boolean
    ã“ã®ãƒ‘スãŒã€startsWith(Path)ãƒ¡ã‚½ãƒƒãƒ‰ã§æŒ‡å®šã•れãŸã¨ãŠã‚Šã®æ–¹æ³•ã§æŒ‡å®šã®ãƒ‘ス文字列を変æ›ã™ã‚‹ã“ã¨ã§æ§‹ç¯‰ã•れるã€Pathã§å§‹ã¾ã‚‹ã‹ã©ã†ã‹ã‚’テストã—ã¾ã™ã€‚
    boolean
    ã“ã®ãƒ‘スãŒã€æŒ‡å®šã•れãŸãƒ‘スã§å§‹ã¾ã‚‹ã‹ã©ã†ã‹ã‚’テストã—ã¾ã™ã€‚
    subpath(int beginIndex, int endIndex)
    ã“ã®ãƒ‘スã®åå‰è¦ç´ ã®ã‚µãƒ–シーケンスã§ã‚る相対Pathã‚’è¿”ã—ã¾ã™ã€‚
    ã“ã®ãƒ‘スã®çµ¶å¯¾ãƒ‘スを表ã™Pathオブジェクトを返ã—ã¾ã™ã€‚
    default File
    ã“ã®ãƒ‘スを表ã™Fileオブジェクトを返ã—ã¾ã™ã€‚
    toRealPath(LinkOption... options)
    既存ã®ãƒ•ァイルã®å®Ÿéš›ã®ãƒ‘スを返ã—ã¾ã™ã€‚
    ã“ã®ãƒ‘ã‚¹ã®æ–‡å­—列表ç¾ã‚’è¿”ã—ã¾ã™ã€‚
    ã“ã®ãƒ‘スを表ã™URIã‚’è¿”ã—ã¾ã™ã€‚

    インタフェースjava.lang.Iterableã§å®£è¨€ã•れãŸãƒ¡ã‚½ãƒƒãƒ‰

    forEach, spliterator
  • メソッドã®è©³ç´°

    • of

      static Path of(String first, String... more)
      パス文字列ã€ã¾ãŸã¯çµåˆæ™‚ã«ãƒ‘ス文字列を形æˆã™ã‚‹æ–‡å­—列ã®ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã‚’変æ›ã™ã‚‹ã“ã¨ã«ã‚ˆã‚Šã€Pathã‚’è¿”ã—ã¾ã™ã€‚ moreã«è¦ç´ ãŒæŒ‡å®šã•れã¦ã„ãªã„å ´åˆã¯ã€firstパラメータã®å€¤ã¯å¤‰æ›ã™ã‚‹ãƒ‘ス文字列ã§ã™ã€‚ moreã§1ã¤ä»¥ä¸Šã®è¦ç´ ãŒæŒ‡å®šã•れã¦ã„ã‚‹å ´åˆã€ç©ºã§ãªã„文字列(firstã‚’å«ã‚€)ã¯ã€åå‰è¦ç´ ã®ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã§ã‚ã‚‹ã¨ã¿ãªã•れã€ãƒ‘ス文字列を形æˆã™ã‚‹ãŸã‚ã«çµåˆã•れã¾ã™ã€‚ 文字列ã®çµåˆæ–¹æ³•ã®è©³ç´°ã¯ãƒ—ロãƒã‚¤ãƒ€å›ºæœ‰ã§ã™ãŒã€é€šå¸¸ã¯åå‰åŒºåˆ‡ã‚Šæ–‡å­—を区切り文字ã¨ã—ã¦ä½¿ç”¨ã—ã¦çµåˆã•れã¾ã™ã€‚ ãŸã¨ãˆã°ã€åå‰åŒºåˆ‡ã‚Šæ–‡å­—ãŒ"/"ã§getPath("/foo","bar","gus")ãŒå‘¼ã³å‡ºã•れãŸå ´åˆã€ãƒ‘ス文字列"/foo/bar/gus"ã¯Pathã«å¤‰æ›ã•れã¾ã™ã€‚ firstãŒç©ºã®æ–‡å­—列ã§moreã«ç©ºã§ãªã„文字列ãŒå«ã¾ã‚Œãªã„å ´åˆã¯ã€ç©ºã®ãƒ‘スを示ã™PathãŒè¿”ã•れã¾ã™ã€‚

      Pathã‚’å–å¾—ã™ã‚‹ã«ã¯ã€ãƒ‡ãƒ•ォルトã®FileSystemã®getPathメソッドを呼ã³å‡ºã—ã¾ã™ã€‚

      ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯éžå¸¸ã«ä¾¿åˆ©ã§ã™ãŒã€ãã®ä½¿ç”¨ã¯ãƒ‡ãƒ•ォルトã®FileSystemã¸ã®æƒ³å®šã•れãŸå‚ç…§ã‚’æ„味ã—ã€å‘¼å‡ºã—å…ƒã®ã‚³ãƒ¼ãƒ‰ã®æœ‰ç”¨æ€§ã‚’é™å®šã™ã‚‹ã‚‚ã®ã§ã‚ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。 ã—ãŸãŒã£ã¦ã€æŸ”軟性ã®ã‚ã‚‹å†åˆ©ç”¨ã‚’目的ã¨ã—ãŸãƒ©ã‚¤ãƒ–ラリ・コードã§ã¯ä½¿ç”¨ã—ãªã„よã†ã«ã—ã¦ãã ã•ã„。 ã“れã«ä»£ã‚ã‚‹ã‚ˆã‚ŠæŸ”è»Ÿãªæ–¹æ³•ã¯ã€æ¬¡ã®ã‚ˆã†ã«æ—¢å­˜ã®Pathインスタンスをアンカーã¨ã—ã¦ä½¿ç”¨ã™ã‚‹ã“ã¨ã§ã™ã€‚

          Path dir = ...
          Path path = dir.resolve("file");
      

      パラメータ:
      first - パス文字列ã¾ãŸã¯ãƒ‘ã‚¹æ–‡å­—åˆ—ã®æœ€åˆã®éƒ¨åˆ†
      more - çµåˆã—ã¦ãƒ‘ス文字列を形æˆã™ã‚‹ãŸã‚ã®è¿½åŠ æ–‡å­—åˆ—
      戻り値:
      çµæžœã®Path
      スロー:
      InvalidPathException - パス文字列をPathã«å¤‰æ›ã§ããªã„å ´åˆ
      å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
      11
      関連項目:
    • of

      static Path of(URI uri)
      URIを変æ›ã™ã‚‹ã“ã¨ã«ã‚ˆã£ã¦Pathã‚’è¿”ã—ã¾ã™ã€‚

      ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れã¦ã„るプロãƒã‚¤ãƒ€ã‚’å復ã—ã¦ã€æŒ‡å®šã•れãŸURIã®URI スキームã§è­˜åˆ¥ã•れるプロãƒã‚¤ãƒ€ã‚’検索ã—ã¾ã™ã€‚ URIスキームã¯å¤§æ–‡å­—å°æ–‡å­—ã«é–¢ä¿‚ãªã比較ã•れã¾ã™ã€‚ プロãƒã‚¤ãƒ€ãŒè¦‹ã¤ã‹ã£ãŸå ´åˆã¯ã€ãã®getPathメソッドãŒå‘¼ã³å‡ºã•れã¦URIãŒå¤‰æ›ã•れã¾ã™ã€‚

      「fileã€ã¨ã„ã†URIスキームã§è­˜åˆ¥ã•れるデフォルト・プロãƒã‚¤ãƒ€ã®å ´åˆã€æŒ‡å®šã•れãŸURIã«ã¯ç©ºã§ãªã„パス・コンãƒãƒ¼ãƒãƒ³ãƒˆã¨ã€æœªå®šç¾©ã®ã‚¯ã‚¨ãƒªãƒ¼ãŠã‚ˆã³ãƒ•ラグメント・コンãƒãƒ¼ãƒãƒ³ãƒˆãŒå«ã¾ã‚Œã¾ã™ã€‚ 機関コンãƒãƒ¼ãƒãƒ³ãƒˆãŒå­˜åœ¨ã™ã‚‹ã‹ã©ã†ã‹ã¯ã€ãƒ—ラットフォームã«å›ºæœ‰ã®ã‚‚ã®ã§ã™ã€‚ è¿”ã•れるPathã¯defaultã®ãƒ•ァイル・システムã«é–¢é€£ä»˜ã‘られã¾ã™ã€‚

      デフォルト・プロãƒã‚¤ãƒ€ã¯åŒæ§˜ã®ãƒ©ã‚¦ãƒ³ãƒ‰ãƒ»ãƒˆãƒªãƒƒãƒ—ã®ä¿è¨¼ã‚’Fileã‚¯ãƒ©ã‚¹ã«æä¾›ã—ã¾ã™ã€‚ Path pãŒæŒ‡å®šã•れãŸå ´åˆã¯ã€æ¬¡ãŒä¿è¨¼ã•れã¾ã™ã€‚

      Path.of(p.toUri()).equals( p.toAbsolutePath())
      å…ƒã®Pathã€URIãŠã‚ˆã³æ–°ã—ã„ PathãŒã™ã¹ã¦åŒã˜Java仮想マシンã§(ãŠãらãç•°ãªã‚‹å‘¼ã³å‡ºã—)ã«ä½œæˆã•れã¾ã™ã€‚ ã»ã‹ã®ãƒ—ロãƒã‚¤ãƒ€ãŒä¿è¨¼ã‚’行ã†ã‹ã©ã†ã‹ã¯ãƒ—ロãƒã‚¤ãƒ€ã«ã‚ˆã£ã¦ç•°ãªã‚‹ãŸã‚ã€æœªæŒ‡å®šã§ã™ã€‚

      パラメータ:
      uri - 変æ›å¯¾è±¡ã®URI
      戻り値:
      çµæžœã®Path
      スロー:
      IllegalArgumentException - uriパラメータã®å‰ææ¡ä»¶ãŒæº€ãŸã•れã¦ã„ãªã„å ´åˆã€‚ URIã®å½¢å¼ã¯ãƒ—ロãƒã‚¤ãƒ€ã«å›ºæœ‰ã®ã‚‚ã®ã§ã™ã€‚
      FileSystemNotFoundException - URIã«ã‚ˆã£ã¦è­˜åˆ¥ã•れるファイル・システムãŒå­˜åœ¨ã›ãšã€è‡ªå‹•çš„ã«ä½œæˆã™ã‚‹ã“ã¨ã‚‚ã§ããªã„å ´åˆã€ã¾ãŸã¯URIスキーム・コンãƒãƒ¼ãƒãƒ³ãƒˆã«ã‚ˆã£ã¦è­˜åˆ¥ã•れるプロãƒã‚¤ãƒ€ãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れã¦ã„ãªã„å ´åˆ
      å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
      11
    • getFileSystem

      FileSystem getFileSystem()
      ã“ã®ã‚ªãƒ–ジェクトを作æˆã—ãŸãƒ•ァイル・システムを返ã—ã¾ã™ã€‚
      戻り値:
      ã“ã®ã‚ªãƒ–ジェクトを作æˆã—ãŸãƒ•ァイル・システム
    • isAbsolute

      boolean isAbsolute()
      ã“ã®ãƒ‘スãŒçµ¶å¯¾ã‹ã©ã†ã‹ã‚’通知ã—ã¾ã™ã€‚

      絶対パスã¯å®Œå…¨ã§ã‚りã€ãƒ•ァイルを見ã¤ã‘ã‚‹ãŸã‚ã«ã»ã‹ã®ãƒ‘ス情報ã¨çµ„ã¿åˆã‚ã›ã‚‹å¿…è¦ã¯ã‚りã¾ã›ã‚“。

      戻り値:
      ã“ã®ãƒ‘スãŒçµ¶å¯¾ã§ã‚ã‚‹å ´åˆã«ã®ã¿true
    • getRoot

      Path getRoot()
      ã“ã®ãƒ‘スã®ãƒ«ãƒ¼ãƒˆãƒ»ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã‚’Pathオブジェクトã¨ã—ã¦è¿”ã—ã¾ã™ã€‚ã“ã®ãƒ‘スãŒãƒ«ãƒ¼ãƒˆãƒ»ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã‚’æŒãŸãªã„å ´åˆã¯nullã‚’è¿”ã—ã¾ã™ã€‚
      戻り値:
      ã“ã®ãƒ‘スã®ãƒ«ãƒ¼ãƒˆãƒ»ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã‚’表ã™ãƒ‘スã€ã¾ãŸã¯null
    • getFileName

      Path getFileName()
      ã“ã®ãƒ‘スãŒç¤ºã™ãƒ•ァイルã¾ãŸã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®åå‰ã‚’Pathオブジェクトã¨ã—ã¦è¿”ã—ã¾ã™ã€‚ ã“ã®ãƒ•ァイルåã¯ã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªéšŽå±¤ã®ãƒ«ãƒ¼ãƒˆã‹ã‚‰ã‚‚ã£ã¨ã‚‚é ã„è¦ç´ ã§ã™ã€‚
      戻り値:
      ファイルã¾ãŸã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®åå‰ã‚’表ã™ãƒ‘ス。ã“ã®ãƒ‘スã«è¦ç´ ãŒå«ã¾ã‚Œã¦ã„ãªã„å ´åˆã¯null
    • getParent

      Path getParent()
      親ã®ãƒ‘スを返ã—ã¾ã™ã€‚ã“ã®ãƒ‘スãŒè¦ªã‚’æŒãŸãªã„å ´åˆã¯nullã‚’è¿”ã—ã¾ã™ã€‚

      ã“ã®ãƒ‘ス・オブジェクトã®è¦ªã¯ã€ã“ã®ãƒ‘スã®ãƒ«ãƒ¼ãƒˆãƒ»ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆ(存在ã™ã‚‹å ´åˆ)ã¨ãƒ‘ス内ã®å„è¦ç´ (ディレクトリ階層ã®ãƒ«ãƒ¼ãƒˆã‹ã‚‰ã‚‚ã£ã¨ã‚‚é ã„è¦ç´ ã‚’除ã)ã§æ§‹æˆã•れã¾ã™ã€‚ ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ãƒ•ァイル・システムã«ã‚¢ã‚¯ã‚»ã‚¹ã—ã¾ã›ã‚“。ã¤ã¾ã‚Šã€ãƒ‘スã¾ãŸã¯ãã®è¦ªãŒå­˜åœ¨ã—ãªã„å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚ ã•らã«ã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã§ã¯ä¸€éƒ¨ã®å®Ÿè£…ã§ä½¿ç”¨ã§ãる「.ã€ã‚„「..ã€ãªã©ã®ç‰¹æ®Šãªåå‰ã‚’削除ã—ã¾ã›ã‚“。 ãŸã¨ãˆã°ã€UNIXã§ã¯ã€ã€Œ/a/b/cã€ã®è¦ªã¯ã€Œ/a/bã€ã§ã‚りã€ã€Œx/y/.ã€ã®è¦ªã¯ã€Œx/yã€ã§ã™ã€‚ ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’normalizeメソッドã¨ã¨ã‚‚ã«ä½¿ç”¨ã™ã‚‹ã¨ã€ã‚·ã‚§ãƒ«ã®ã‚ˆã†ãªãƒŠãƒ“ゲーションãŒå¿…è¦ãªå ´åˆã«ã€å†—é•·ãªåå‰ã‚’削除ã§ãã¾ã™ã€‚

      ã“ã®ãƒ‘スã«è¤‡æ•°ã®è¦ç´ ãŒã‚りã€ãƒ«ãƒ¼ãƒˆãƒ»ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆãŒãªã„å ´åˆã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯å¼ã®è©•価ã¨åŒç­‰ã§ã™:

          subpath(0, getNameCount()-1);
      

      戻り値:
      ãã®ãƒ‘スã®è¦ªã‚’表ã™ãƒ‘ス
    • getNameCount

      int getNameCount()
      パス内ã®åå‰è¦ç´ ã®æ•°ã‚’è¿”ã—ã¾ã™ã€‚
      戻り値:
      パス内ã®è¦ç´ ã®æ•°ã€‚ã“ã®ãƒ‘スãŒãƒ«ãƒ¼ãƒˆãƒ»ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã®ã¿ã‚’表ã™å ´åˆã¯0
    • getName

      Path getName(int index)
      ã“ã®ãƒ‘スã®åå‰è¦ç´ ã‚’Pathオブジェクトã¨ã—ã¦è¿”ã—ã¾ã™ã€‚

      indexパラメータã¯ã€è¿”ã•れるåå‰è¦ç´ ã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã§ã™ã€‚ ディレクトリ階層ã®ãƒ«ãƒ¼ãƒˆã«ã‚‚ã£ã¨ã‚‚è¿‘ã„è¦ç´ ã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã¯0ã«ãªã‚Šã¾ã™ã€‚ ãã®ãƒ«ãƒ¼ãƒˆã‹ã‚‰ã‚‚ã£ã¨ã‚‚é ã„è¦ç´ ã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã¯ã€è¦ç´ æ•° -1ã«ãªã‚Šã¾ã™ã€‚

      パラメータ:
      index - è¦ç´ ã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹
      戻り値:
      åå‰è¦ç´ 
      スロー:
      IllegalArgumentException - indexãŒè² ã®å€¤ã§ã‚ã‚‹å ´åˆã€indexãŒè¦ç´ æ•°ã¨ç­‰ã—ã„ã‹ã€ãれよりも大ãã„å ´åˆã€ã¾ãŸã¯ã“ã®ãƒ‘スã«åå‰è¦ç´ ãŒå«ã¾ã‚Œã¦ã„ãªã„å ´åˆ
    • subpath

      Path subpath(int beginIndex, int endIndex)
      ã“ã®ãƒ‘スã®åå‰è¦ç´ ã®ã‚µãƒ–シーケンスã§ã‚る相対Pathã‚’è¿”ã—ã¾ã™ã€‚

      beginIndexãŠã‚ˆã³endIndexパラメータã¯ã€åå‰è¦ç´ ã®ã‚µãƒ–シーケンスを指定ã—ã¾ã™ã€‚ ディレクトリ階層ã®ãƒ«ãƒ¼ãƒˆã«ã‚‚ã£ã¨ã‚‚è¿‘ã„åå‰ã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã¯0ã«ãªã‚Šã¾ã™ã€‚ ãã®ãƒ«ãƒ¼ãƒˆã‹ã‚‰ã‚‚ã£ã¨ã‚‚é ã„åå‰ã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã¯ã€è¦ç´ æ•° -1ã«ãªã‚Šã¾ã™ã€‚ è¿”ã•れるPathオブジェクトã«ã¯ã€beginIndexã‹ã‚‰å§‹ã¾ã‚Šã€ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ endIndex-1ã®è¦ç´ ã«ã¾ã§åŠã¶åå‰è¦ç´ ãŒå«ã¾ã‚Œã¾ã™ã€‚

      パラメータ:
      beginIndex - 最åˆã®è¦ç´ ã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹(ã“れをå«ã‚€)
      endIndex - 最後ã®è¦ç´ ã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹(ã“れをå«ã¾ãªã„)
      戻り値:
      ã“ã®Pathã®åå‰è¦ç´ ã®ã‚µãƒ–シーケンスã§ã‚ã‚‹æ–°ã—ã„Pathオブジェクト
      スロー:
      IllegalArgumentException - beginIndexãŒè² ã®å€¤ã§ã‚ã‚‹å ´åˆã€ã¾ãŸã¯ãれãŒè¦ç´ æ•°ã«ç­‰ã—ã„ã‹ã€ãれよりも大ãã„å ´åˆã€‚ endIndexãŒbeginIndexã«ç­‰ã—ã„ã‹ã€ãれよりもå°ã•ã„å ´åˆã€ã¾ãŸã¯ãれãŒè¦ç´ æ•°ã‚ˆã‚Šã‚‚大ãã„å ´åˆã€‚
    • startsWith

      boolean startsWith(Path other)
      ã“ã®ãƒ‘スãŒã€æŒ‡å®šã•れãŸãƒ‘スã§å§‹ã¾ã‚‹ã‹ã©ã†ã‹ã‚’テストã—ã¾ã™ã€‚

      ã“ã®ãƒ‘スã®ãƒ«ãƒ¼ãƒˆãƒ»ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆãŒæŒ‡å®šã•れãŸãƒ‘スã®ãƒ«ãƒ¼ãƒˆãƒ»ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã§å§‹ã¾ã‚Šã€ã‹ã¤ã“ã®ãƒ‘ã‚¹ãŒæŒ‡å®šã•れãŸãƒ‘スã¨åŒã˜åå‰è¦ç´ ã§å§‹ã¾ã‚‹å ´åˆã€ã“ã®ãƒ‘ã‚¹ã¯æŒ‡å®šã•れãŸãƒ‘スã§å§‹ã¾ã‚Šã¾ã™ã€‚ 指定ã•れãŸãƒ‘スã«ã“ã®ãƒ‘スよりも多ãã®åå‰è¦ç´ ãŒå«ã¾ã‚Œã¦ã„ã‚‹å ´åˆã¯ã€falseãŒè¿”ã•れã¾ã™ã€‚

      ã“ã®ãƒ‘スã®ãƒ«ãƒ¼ãƒˆãƒ»ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆãŒæŒ‡å®šã•れãŸãƒ‘スã®ãƒ«ãƒ¼ãƒˆãƒ»ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã§å§‹ã¾ã‚‹ã‹ã©ã†ã‹ã¯ã€ãƒ•ァイル・システムã«å›ºæœ‰ã§ã™ã€‚ ã“ã®ãƒ‘スã«ãƒ«ãƒ¼ãƒˆãƒ»ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆãŒå«ã¾ã‚Œã¦ãŠã‚‰ãšã€æŒ‡å®šã•れãŸãƒ‘スã«ãƒ«ãƒ¼ãƒˆãƒ»ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆãŒå«ã¾ã‚Œã¦ã„ã‚‹å ´åˆã€ã“ã®ãƒ‘ã‚¹ã¯æŒ‡å®šã•れãŸãƒ‘スã§å§‹ã¾ã‚Šã¾ã›ã‚“。

      指定ã•れãŸãƒ‘スãŒã“ã®ãƒ‘スã¨ã¯ç•°ãªã‚‹FileSystemã«é–¢é€£ä»˜ã‘られã¦ã„ã‚‹å ´åˆã€falseãŒè¿”ã•れã¾ã™ã€‚

      パラメータ:
      other - 指定ã•れãŸãƒ‘ス
      戻り値:
      ã“ã®ãƒ‘スãŒã€æŒ‡å®šã•れãŸãƒ‘スã§å§‹ã¾ã‚‹å ´åˆtrueã€ãれ以外ã®å ´åˆã¯false
    • startsWith

      default boolean startsWith(String other)
      ã“ã®ãƒ‘スãŒã€startsWith(Path)ãƒ¡ã‚½ãƒƒãƒ‰ã§æŒ‡å®šã•れãŸã¨ãŠã‚Šã®æ–¹æ³•ã§æŒ‡å®šã®ãƒ‘ス文字列を変æ›ã™ã‚‹ã“ã¨ã§æ§‹ç¯‰ã•れるã€Pathã§å§‹ã¾ã‚‹ã‹ã©ã†ã‹ã‚’テストã—ã¾ã™ã€‚ ãŸã¨ãˆã°ã€UNIXã§ã¯ã€ãƒ‘ス「foo/barã€ã¯ã€Œfooã€ãŠã‚ˆã³ã€Œfoo/barã€ã§å§‹ã¾ã‚Šã¾ã™ã€‚ ãれã¯ã€Œfã€ã¾ãŸã¯ã€Œfoã€ã§ã¯å§‹ã¾ã‚Šã¾ã›ã‚“。
      実装è¦ä»¶:
      デフォルトã®å®Ÿè£…ã¯ã€ã“ã®ãƒ‘スã¨åŒç­‰ã§ã™:
          startsWith(getFileSystem().getPath(other));
      
      パラメータ:
      other - 指定ã•れãŸãƒ‘ス文字列
      戻り値:
      ã“ã®ãƒ‘スãŒã€æŒ‡å®šã•れãŸãƒ‘スã§å§‹ã¾ã‚‹å ´åˆtrueã€ãれ以外ã®å ´åˆã¯false
      スロー:
      InvalidPathException - パス文字列をPathã«å¤‰æ›ã§ããªã„å ´åˆã€‚
    • endsWith

      boolean endsWith(Path other)
      ã“ã®ãƒ‘スãŒã€æŒ‡å®šã•れãŸãƒ‘スã§çµ‚ã‚ã‚‹ã‹ã©ã†ã‹ã‚’テストã—ã¾ã™ã€‚

      指定ã•れãŸãƒ‘スã«ã¯N個ã®è¦ç´ ãŒå«ã¾ã‚Œã¦ã„ã¦ã€ãƒ«ãƒ¼ãƒˆãƒ»ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆãŒãªãã€ã“ã®ãƒ‘スã«ã¯N個以上ã®è¦ç´ ãŒå«ã¾ã‚Œã¦ã„ã‚‹å ´åˆã€ãƒ«ãƒ¼ãƒˆã‹ã‚‰ã‚‚ã£ã¨ã‚‚é ã„è¦ç´ ã§å§‹ã¾ã‚‹ã€å„ãƒ‘ã‚¹ã®æœ€å¾Œã®N個ã®è¦ç´ ãŒç­‰ã—ã‘れã°ã€ã“ã®ãƒ‘ã‚¹ã¯æŒ‡å®šã•れãŸãƒ‘スã§çµ‚ã‚りã¾ã™ã€‚

      指定ã•れãŸãƒ‘スã«ãƒ«ãƒ¼ãƒˆãƒ»ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆãŒã‚ã‚‹å ´åˆã€ã“ã®ãƒ‘スã®ãƒ«ãƒ¼ãƒˆãƒ»ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆãŒæŒ‡å®šã•れãŸãƒ‘スã®ãƒ«ãƒ¼ãƒˆãƒ»ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã§çµ‚ã‚りã€ä¸¡æ–¹ã®ãƒ‘スã®å¯¾å¿œã™ã‚‹è¦ç´ ãŒç­‰ã—ã‘れã°ã€ã“ã®ãƒ‘ã‚¹ã¯æŒ‡å®šã•れãŸãƒ‘スã§çµ‚ã‚りã¾ã™ã€‚ ã“ã®ãƒ‘スã®ãƒ«ãƒ¼ãƒˆãƒ»ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆãŒæŒ‡å®šã•れãŸãƒ‘スã®ãƒ«ãƒ¼ãƒˆãƒ»ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã§çµ‚ã‚ã‚‹ã‹ã©ã†ã‹ã¯ã€ãƒ•ァイル・システムã«å›ºæœ‰ã§ã™ã€‚ ã“ã®ãƒ‘スã«ãƒ«ãƒ¼ãƒˆãƒ»ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆãŒå«ã¾ã‚Œãšã€æŒ‡å®šã•れãŸãƒ‘スã«ãƒ«ãƒ¼ãƒˆãƒ»ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆãŒå«ã¾ã‚Œã¦ã„ã‚‹å ´åˆã€ã“ã®ãƒ‘ã‚¹ã¯æŒ‡å®šã•れãŸãƒ‘スã§çµ‚ã‚りã¾ã›ã‚“。

      指定ã•れãŸãƒ‘スãŒã“ã®ãƒ‘スã¨ã¯ç•°ãªã‚‹FileSystemã«é–¢é€£ä»˜ã‘られã¦ã„ã‚‹å ´åˆã€falseãŒè¿”ã•れã¾ã™ã€‚

      パラメータ:
      other - 指定ã•れãŸãƒ‘ス
      戻り値:
      ã“ã®ãƒ‘ã‚¹ãŒæŒ‡å®šã•れãŸãƒ‘スã§çµ‚ã‚ã‚‹å ´åˆã¯trueã€ãれ以外ã®å ´åˆã¯false
    • endsWith

      default boolean endsWith(String other)
      ã“ã®ãƒ‘スãŒã€endsWith(Path)ãƒ¡ã‚½ãƒƒãƒ‰ã§æŒ‡å®šã•れãŸã¨ãŠã‚Šã®æ–¹æ³•ã§æŒ‡å®šã®ãƒ‘ス文字列を変æ›ã™ã‚‹ã“ã¨ã§æ§‹ç¯‰ã•れるã€Pathã§çµ‚ã‚ã‚‹ã‹ã©ã†ã‹ã‚’テストã—ã¾ã™ã€‚ ãŸã¨ãˆã°ã€UNIXã§ã¯ã€ãƒ‘ス「foo/barã€ã¯ã€Œfoo/barã€ãŠã‚ˆã³ã€Œbarã€ã§çµ‚ã‚りã¾ã™ã€‚ ãれã¯ã€Œrã€ã¾ãŸã¯ã€Œ/barã€ã§ã¯çµ‚ã‚りã¾ã›ã‚“。 末尾ã®åŒºåˆ‡ã‚Šæ–‡å­—ã¯è€ƒæ…®ã•れãªã„ãŸã‚ã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’ Path "foo/bar"ã«å¯¾ã—ã¦String "bar/"ã§å‘¼ã³å‡ºã™ã¨ã€trueãŒè¿”ã•れã¾ã™ã€‚
      実装è¦ä»¶:
      デフォルトã®å®Ÿè£…ã¯ã€ã“ã®ãƒ‘スã¨åŒç­‰ã§ã™:
          endsWith(getFileSystem().getPath(other));
      
      パラメータ:
      other - 指定ã•れãŸãƒ‘ス文字列
      戻り値:
      ã“ã®ãƒ‘ã‚¹ãŒæŒ‡å®šã•れãŸãƒ‘スã§çµ‚ã‚ã‚‹å ´åˆã¯trueã€ãれ以外ã®å ´åˆã¯false
      スロー:
      InvalidPathException - パス文字列をPathã«å¤‰æ›ã§ããªã„å ´åˆã€‚
    • normalize

      Path normalize()
      ã“ã®ãƒ‘スã‹ã‚‰å†—é•·ãªåå‰è¦ç´ ã‚’削除ã—ãŸãƒ‘スを返ã—ã¾ã™ã€‚

      ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã®æ­£ç¢ºãªå®šç¾©ã¯å®Ÿè£…ã«ä¾å­˜ã—ã¾ã™ãŒã€é€šå¸¸ã€ãれã¯ã“ã®ãƒ‘ス(冗長ãªåå‰è¦ç´ ã‚’å«ã¾ãªã„パス)ã‹ã‚‰æ´¾ç”Ÿã—ã¦ã„ã¾ã™ã€‚ 多ãã®ãƒ•ァイル・システムã§ã¯ã€ã€Œ.ã€ãŠã‚ˆã³ã€Œ..ã€ã¯ç¾åœ¨ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãŠã‚ˆã³è¦ªãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’示ã™ãŸã‚ã«ä½¿ã‚れる特殊ãªåå‰ã§ã™ã€‚ ãã®ã‚ˆã†ãªãƒ•ァイル・システムã§ã¯ã€ã€Œ.ã€ã®ã‚ªã‚«ãƒ¬ãƒ³ã‚¹ã¯ã™ã¹ã¦å†—é•·ã¨ã¿ãªã•れã¾ã™ã€‚ 「..ã€ã®ç›´å‰ã«ã€Œ..ã€ä»¥å¤–ã®åå‰ãŒå­˜åœ¨ã™ã‚‹å ´åˆã€ãã®ä¸¡æ–¹ã®åå‰ãŒå†—é•·ã¨ã¿ãªã•れã¾ã™(ãã®ã‚ˆã†ãªåå‰ã‚’識別ã™ã‚‹ãƒ—ロセスãŒè©²å½“ã—ãªããªã‚‹ã¾ã§ç¹°ã‚Šè¿”ã•れる)。

      ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ãƒ•ァイル・システムã«ã‚¢ã‚¯ã‚»ã‚¹ã—ã¾ã›ã‚“。ã¤ã¾ã‚Šã€ãã®ãƒ‘スã¯å­˜åœ¨ã—ã¦ã„るファイルを検出ã—ãªã„å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚ 「..ã€ã¨ãれã«å…ˆè¡Œã™ã‚‹åå‰ã‚’パスã‹ã‚‰å‰Šé™¤ã™ã‚‹ã¨ã€å…ƒã®ãƒ‘スã¨ã¯ç•°ãªã‚‹ãƒ•ァイルを検出ã™ã‚‹ãƒ‘スãŒç”Ÿã˜ã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚ ã“れã¯ã€å…ˆè¡Œã™ã‚‹åå‰ãŒã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒ»ãƒªãƒ³ã‚¯ã®å ´åˆã«ç™ºç”Ÿã™ã‚‹ã“ã¨ãŒã‚りã¾ã™ã€‚

      戻り値:
      çµæžœã®ãƒ‘スã¾ãŸã¯ã“ã®ãƒ‘スã«å†—é•·ãªåå‰è¦ç´ ãŒå«ã¾ã‚Œã¦ã„ãªã„å ´åˆã¯ãã®ãƒ‘ス。ã“ã®ãƒ‘スã«ãƒ«ãƒ¼ãƒˆãƒ»ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆãŒãªãã€ã™ã¹ã¦ã®nameè¦ç´ ãŒå†—é•·ã§ã‚ã‚‹å ´åˆã¯ã€ç©ºã®ãƒ‘スãŒè¿”ã•れã¾ã™
      関連項目:
    • resolve

      Path resolve(Path other)
      指定ã•れãŸãƒ‘スをã“ã®ãƒ‘スã«å¯¾ã—ã¦è§£æ±ºã—ã¾ã™ã€‚

      otherパラメータãŒçµ¶å¯¾ãƒ‘スã§ã‚ã‚‹å ´åˆã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯æ™®é€šã«otherã‚’è¿”ã—ã¾ã™ã€‚ otherãŒç©ºã®ãƒ‘スã§ã‚ã‚‹å ´åˆã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯æ™®é€šã«ã“ã®ãƒ‘スを返ã—ã¾ã™ã€‚ ãれ以外ã®å ´åˆã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã“ã®ãƒ‘スをディレクトリã¨ã¿ãªã—ã€æŒ‡å®šã•れãŸãƒ‘スをã“ã®ãƒ‘スã«å¯¾ã—ã¦è§£æ±ºã—ã¾ã™ã€‚ ã‚‚ã£ã¨ã‚‚å˜ç´”ãªã®ã¯ã€æŒ‡å®šã•れãŸãƒ‘スã«ãƒ«ãƒ¼ãƒˆãƒ»ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆãŒãªã„å ´åˆã§ã™ã€‚ãã®å ´åˆã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯æŒ‡å®šã•れãŸãƒ‘スをã“ã®ãƒ‘スã«çµåˆã—ã€æŒ‡å®šã•れãŸãƒ‘スã§çµ‚ã‚ã‚‹ãƒ‘ã‚¹ã‚’çµæžœã¨ã—ã¦è¿”ã—ã¾ã™ã€‚ 指定ã•れãŸãƒ‘スã«ãƒ«ãƒ¼ãƒˆãƒ»ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆãŒã‚ã‚‹å ´åˆã€è§£æ±ºã¯å®Ÿè£…ã«å¤§ããä¾å­˜ã™ã‚‹ãŸã‚ã€æœªæŒ‡å®šã§ã™ã€‚

      パラメータ:
      other - ã“ã®ãƒ‘スã«å¯¾ã—ã¦è§£æ±ºã™ã‚‹ãƒ‘ス
      戻り値:
      çµæžœã®ãƒ‘ス
      関連項目:
    • resolve

      default Path resolve(String other)
      指定ã•れãŸãƒ‘ス文字列をPathã«å¤‰æ›ã—ã¦ã‹ã‚‰ã€resolveãƒ¡ã‚½ãƒƒãƒ‰ã§æŒ‡å®šã•れãŸã¨ãŠã‚Šã®æ–¹æ³•ã§ã€ã“ã®Pathã«å¯¾ã—ã¦è§£æ±ºã—ã¾ã™ã€‚ ãŸã¨ãˆã°ã€åå‰åŒºåˆ‡ã‚Šæ–‡å­—ãŒã€Œ/ã€ã§ã€ãƒ‘スãŒã€Œfoo/barã€ã‚’表ã™ã¨ã—ã¾ã™ã€‚ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’パス文字列「gusã€ã§å‘¼ã³å‡ºã™ã¨ã€çµæžœã¯Path "foo/bar/gus"ã¨ãªã‚Šã¾ã™ã€‚
      実装è¦ä»¶:
      デフォルトã®å®Ÿè£…ã¯ã€ã“ã®ãƒ‘スã¨åŒç­‰ã§ã™:
          resolve(getFileSystem().getPath(other));
      
      パラメータ:
      other - ã“ã®ãƒ‘スã«å¯¾ã—ã¦è§£æ±ºã™ã‚‹ãƒ‘ス文字列
      戻り値:
      çµæžœã®ãƒ‘ス
      スロー:
      InvalidPathException - パス文字列をPathã«å¤‰æ›ã§ããªã„å ´åˆã€‚
      関連項目:
    • resolve

      default Path resolve(Path first, Path... more)
      ã“ã®ãƒ‘スã«å¯¾ã—ã¦ãƒ‘スを解決ã—ã¦ã‹ã‚‰ã€è¿½åŠ ã®ãƒ‘スを繰り返ã—解決ã—ã¾ã™ã€‚

      ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€resolve(Path)をコールã™ã‚‹ã‹ã®ã‚ˆã†ã«ã€ã“ã®Pathã«å¯¾ã—ã¦firstを解決ã—ã¾ã™ã€‚ moreã«1ã¤ä»¥ä¸Šã®è¦ç´ ãŒã‚ã‚‹å ´åˆã¯ã€çµæžœã«å¯¾ã—ã¦æœ€åˆã®è¦ç´ ãŒè§£æ±ºã•れã€å¾Œç¶šã®ã™ã¹ã¦ã®è¦ç´ ãŒå復的ã«è§£æ±ºã•れã¾ã™ã€‚ ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€æœ€çµ‚変æ›ã®çµæžœã‚’è¿”ã—ã¾ã™ã€‚

      実装è¦ä»¶:
      デフォルトã®å®Ÿè£…ã¯ã€æ¬¡ã§å–å¾—ã—ãŸçµæžœã¨åŒç­‰ã§ã™ã€‚
          Path result = resolve(first);
          for (Path p : more) {
              result = result.resolve(p);
          }
      
      パラメータ:
      first - ã“ã®ãƒ‘スã«å¯¾ã—ã¦è§£æ±ºã™ã‚‹æœ€åˆã®ãƒ‘ス
      more - å復的ã«è§£æ±ºã™ã‚‹ãŸã‚ã®è¿½åŠ ã®ãƒ‘ス
      戻り値:
      çµæžœã®ãƒ‘ス
      å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
      22
      関連項目:
    • resolve

      default Path resolve(String first, String... more)
      パス文字列をパスã«å¤‰æ›ã—ã€ãã®ãƒ‘スをã“ã®ãƒ‘スã«å¯¾ã—ã¦è§£æ±ºã—ã¦ã‹ã‚‰ã€è¿½åŠ ã®ãƒ‘ス文字列ã«å¯¾ã—ã¦åŒã˜ãƒ—ロシージャを繰り返ã—実行ã—ã¾ã™ã€‚

      ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€firstã‚’Pathã«å¤‰æ›ã—ã€resolve(String)をコールã™ã‚‹ã‹ã®ã‚ˆã†ã«ã€ã“ã®Pathã«å¯¾ã—ã¦ãã®Pathを解決ã—ã¾ã™ã€‚ moreã«1ã¤ä»¥ä¸Šã®è¦ç´ ãŒã‚ã‚‹å ´åˆã€æœ€åˆã®è¦ç´ ã‚’パスã«å¤‰æ›ã—ã€ãã®ãƒ‘ã‚¹ã‚’çµæžœã«å¯¾ã—ã¦è§£æ±ºã—ã¦ã‹ã‚‰ã€å¾Œç¶šã®ã™ã¹ã¦ã®è¦ç´ ã‚’å復的ã«å¤‰æ›ã—ã¦è§£æ±ºã—ã¾ã™ã€‚ ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€æœ€çµ‚変æ›ã®çµæžœã‚’è¿”ã—ã¾ã™ã€‚

      実装è¦ä»¶:
      デフォルトã®å®Ÿè£…ã¯ã€æ¬¡ã§å–å¾—ã—ãŸçµæžœã¨åŒç­‰ã§ã™ã€‚
      Path result = resolve(first);
      for (String s : more) {
          result = result.resolve(s);
      }
      
      パラメータ:
      first - パスã«å¤‰æ›ã—ã¦ã“ã®ãƒ‘スã«å¯¾ã—ã¦è§£æ±ºã™ã‚‹æœ€åˆã®ãƒ‘ス文字列
      more - パスã«å復的ã«å¤‰æ›ã—ã¦è§£æ±ºã™ã‚‹è¿½åŠ ã®ãƒ‘ス文字列
      戻り値:
      çµæžœã®ãƒ‘ス
      スロー:
      InvalidPathException - パス文字列をパスã«å¤‰æ›ã§ããªã„å ´åˆã€‚
      å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
      22
      関連項目:
    • resolveSibling

      default Path resolveSibling(Path other)
      指定ã•れãŸãƒ‘スをã“ã®ãƒ‘スã®è¦ªãƒ‘スã«å¯¾ã—ã¦è§£æ±ºã—ã¾ã™ã€‚ ã“れã¯ã€ãƒ•ァイルåを別ã®ãƒ•ァイルåã«ç½®ãæ›ãˆã‚‹å¿…è¦ãŒã‚ã‚‹å ´åˆã«å½¹ç«‹ã¡ã¾ã™ã€‚ ãŸã¨ãˆã°ã€åå‰ã‚»ãƒ‘レータãŒ"/"ã§ã€ãƒ‘スãŒ"dir1/dir2/foo"を表ã™å ´åˆã€Path "bar"ã§ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’呼ã³å‡ºã™ã¨ã€ Path "dir1/dir2/bar"ã«ãªã‚Šã¾ã™ã€‚ ã“ã®ãƒ‘スã«è¦ªãƒ‘スãŒå«ã¾ã‚Œã¦ã„ãªã„å ´åˆã€ã¾ãŸã¯otherãŒçµ¶å¯¾ãƒ‘スã§ã‚ã‚‹å ´åˆã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯otherã‚’è¿”ã—ã¾ã™ã€‚ otherãŒç©ºã®ãƒ‘スã§ã‚ã‚‹å ´åˆã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã“ã®ãƒ‘スã®è¦ªã‚’è¿”ã—ã€ã“ã®ãƒ‘スã«è¦ªãŒãªã„å ´åˆã¯ã€ç©ºã®ãƒ‘スを返ã—ã¾ã™ã€‚
      実装è¦ä»¶:
      デフォルトã®å®Ÿè£…ã¯ã€ã“ã®ãƒ‘スã¨åŒç­‰ã§ã™:
          (getParent() == null) ? other : getParent().resolve(other);
      
      other == null以外ã®å ´åˆã¯ã€NullPointerExceptionãŒã‚¹ãƒ­ãƒ¼ã•れã¾ã™ã€‚
      パラメータ:
      other - ã“ã®ãƒ‘スã®è¦ªã«å¯¾ã—ã¦è§£æ±ºã™ã‚‹ãƒ‘ス
      戻り値:
      çµæžœã®ãƒ‘ス
      関連項目:
    • resolveSibling

      default Path resolveSibling(String other)
      指定ã•れãŸãƒ‘ス文字列をPathã«å¤‰æ›ã—ã¦ã‹ã‚‰ã€resolveSiblingãƒ¡ã‚½ãƒƒãƒ‰ã§æŒ‡å®šã•れãŸã¨ãŠã‚Šã®æ–¹æ³•ã§ã€ã“ã®ãƒ‘スã®è¦ªãƒ‘スã«å¯¾ã—ã¦è§£æ±ºã—ã¾ã™ã€‚
      実装è¦ä»¶:
      デフォルトã®å®Ÿè£…ã¯ã€ã“ã®ãƒ‘スã¨åŒç­‰ã§ã™:
          resolveSibling(getFileSystem().getPath(other));
      
      パラメータ:
      other - ã“ã®ãƒ‘スã®è¦ªã«å¯¾ã—ã¦è§£æ±ºã™ã‚‹ãƒ‘ス文字列
      戻り値:
      çµæžœã®ãƒ‘ス
      スロー:
      InvalidPathException - パス文字列をPathã«å¤‰æ›ã§ããªã„å ´åˆã€‚
      関連項目:
    • relativize

      Path relativize(Path other)
      ã“ã®ãƒ‘ã‚¹ã¨æŒ‡å®šã•れãŸãƒ‘スã¨ã®é–“ã®ç›¸å¯¾ãƒ‘スを構築ã—ã¾ã™ã€‚

      相対化ã¯ã€è§£æ±ºã®é€†ã§ã™ã€‚ ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€ã“ã®ãƒ‘スã«å¯¾ã—ã¦è§£æ±ºã™ã‚‹ã¨æŒ‡å®šã•れãŸãƒ‘スã¨åŒã˜ãƒ•ァイルを検出ã™ã‚‹ãƒ‘スを生æˆã™ã‚‹ã€ç›¸å¯¾ãƒ‘スを構築ã—よã†ã¨ã—ã¾ã™ã€‚ ãŸã¨ãˆã°ã€UNIXã§ã¯ã€ã“ã®ãƒ‘スãŒ"/a/b"ã§ã€æŒ‡å®šã•れãŸãƒ‘スãŒ"/a/b/c/d"ã§ã‚ã‚‹å ´åˆã€çµæžœã¨ãªã‚‹ç›¸å¯¾ãƒ‘スã¯"c/d"ã«ãªã‚Šã¾ã™ã€‚ ã“ã®ãƒ‘ã‚¹ã¨æŒ‡å®šã•れãŸãƒ‘スã«ãƒ«ãƒ¼ãƒˆãƒ»ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆãŒãªã„å ´åˆã¯ã€ç›¸å¯¾ãƒ‘スを構築ã§ãã¾ã™ã€‚ ãれらã®ãƒ‘スã®ã©ã¡ã‚‰ã‹ä¸€æ–¹ã ã‘ã«ãƒ«ãƒ¼ãƒˆãƒ»ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆãŒã‚ã‚‹å ´åˆã¯ã€ç›¸å¯¾ãƒ‘スを構築ã§ãã¾ã›ã‚“。 両方ã®ãƒ‘スã«ãƒ«ãƒ¼ãƒˆãƒ»ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆãŒã‚ã‚‹å ´åˆã€ç›¸å¯¾ãƒ‘スを構築ã§ãã‚‹ã‹ã©ã†ã‹ã¯å®Ÿè£…ã«ä¾å­˜ã—ã¾ã™ã€‚ ã“ã®ãƒ‘ã‚¹ã¨æŒ‡å®šã•れãŸãƒ‘スãŒç­‰ã—ã„å ´åˆã¯ã€ç©ºã®ãƒ‘スãŒè¿”ã•れã¾ã™ã€‚

      2ã¤ã®æ­£è¦åŒ–ã•れãŸãƒ‘スpã¨qã«ã¤ã„ã¦(ã“ã“ã§ã®qã«ã¯ãƒ«ãƒ¼ãƒˆãƒ»ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆãŒã‚りã¾ã›ã‚“)ã€æ¬¡ãŒæˆã‚Šç«‹ã¡ã¾ã™ã€‚

      p.relativize(p .resolve(q)).equals(q)

      シンボリック・リンクãŒã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã‚‹å ´åˆã€ã“ã®ãƒ‘スã«å¯¾ã—ã¦è§£æ±ºã™ã‚‹ã¨ã€çµæžœã¨ãªã‚‹ãƒ‘スãŒã€otherã¨åŒã˜ãƒ•ã‚¡ã‚¤ãƒ«ã®æ¤œå‡ºã«ä½¿ç”¨ã§ãるパスを生æˆã™ã‚‹ã‹ã©ã†ã‹ã¯å®Ÿè£…ã«ä¾å­˜ã—ã¾ã™ã€‚ ãŸã¨ãˆã°ã€ã“ã®ãƒ‘スãŒ"/a/b"ã§ã€æŒ‡å®šã•れãŸãƒ‘スãŒ"/a/x"ã§ã‚ã‚‹å ´åˆã€çµæžœã¨ãªã‚‹ç›¸å¯¾ãƒ‘ス㯠"../x"ã«ãªã‚Šã¾ã™ã€‚ "b"ãŒã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒ»ãƒªãƒ³ã‚¯ã®å ´åˆã€"a/b/../x"ãŒ"/a/x"ã¨åŒã˜ãƒ•ァイルを検出ã™ã‚‹ã‹ã©ã†ã‹ã¯å®Ÿè£…ã«ä¾å­˜ã—ã¾ã™ã€‚

      パラメータ:
      other - ã“ã®ãƒ‘スã«å¯¾ã—ã¦ç›¸å¯¾åŒ–ã™ã‚‹ãƒ‘ス
      戻り値:
      çµæžœã¨ãªã‚‹ç›¸å¯¾ãƒ‘ス。両方ã®ãƒ‘スãŒç­‰ã—ã„å ´åˆã¯ç©ºã®ãƒ‘ス
      スロー:
      IllegalArgumentException - otherãŒã“ã®ãƒ‘スã«å¯¾ã—ã¦ç›¸å¯¾åŒ–ã§ãã‚‹Pathã§ãªã„å ´åˆ
    • toUri

      URI toUri()
      ã“ã®ãƒ‘スを表ã™URIã‚’è¿”ã—ã¾ã™ã€‚

      ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€ãƒ—ロãƒã‚¤ãƒ€ã‚’識別ã™ã‚‹URIスキームã«ç­‰ã—ã„スキームを使用ã—ã¦ã€çµ¶å¯¾URIを構築ã—ã¾ã™ã€‚ スキーム固有ã®éƒ¨åˆ†ã®æ­£ç¢ºãªå½¢å¼ã¯ãƒ—ロãƒã‚¤ãƒ€ã«å¤§ããä¾å­˜ã—ã¾ã™ã€‚

      デフォルト・プロãƒã‚¤ãƒ€ã®å ´åˆã€URIã¯çµ¶å¯¾ã§ã‚るパス・コンãƒãƒ¼ãƒãƒ³ãƒˆã‚’å«ã‚€éšŽå±¤URIã§ã™ã€‚ クエリーãŠã‚ˆã³ãƒ•ラグメント・コンãƒãƒ¼ãƒãƒ³ãƒˆã¯æœªå®šç¾©ã§ã™ã€‚ 機関コンãƒãƒ¼ãƒãƒ³ãƒˆãŒå®šç¾©ã•れã¦ã„ã‚‹ã‹ã©ã†ã‹ã¯ã€å®Ÿè£…ã«ä¾å­˜ã—ã¾ã™ã€‚ URIãŒjava.io.Fileã®æ§‹ç¯‰ã«ä½¿ç”¨ã§ãã‚‹ã¨ã„ã†ä¿è¨¼ã¯ã‚りã¾ã›ã‚“。 特ã«ã€ã“ã®ãƒ‘ã‚¹ãŒæ±Žç”¨å‘½åè¦å‰‡(UNC)パスを表ã™å ´åˆã¯ã€UNCサーãƒãƒ¼åã‚’çµæžœã¨ãªã‚‹URIã®æ©Ÿé–¢ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã§ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã§ãã¾ã™ã€‚ デフォルト・プロãƒã‚¤ãƒ€ã§ã€ãƒ•ァイルãŒå­˜åœ¨ã—ã€ãã®ãƒ•ァイルãŒãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ã‚ã‚‹ã¨åˆ¤å®šã§ãã‚‹å ´åˆã€çµæžœã¨ãªã‚‹URIã¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã§çµ‚ã‚りã¾ã™ã€‚

      デフォルト・プロãƒã‚¤ãƒ€ã¯åŒæ§˜ã®ãƒ©ã‚¦ãƒ³ãƒ‰ãƒ»ãƒˆãƒªãƒƒãƒ—ã®ä¿è¨¼ã‚’Fileã‚¯ãƒ©ã‚¹ã«æä¾›ã—ã¾ã™ã€‚ Path pãŒæŒ‡å®šã•れãŸå ´åˆã¯ã€æ¬¡ãŒä¿è¨¼ã•れã¾ã™ã€‚

      Path.of(p.toUri()).equals(p .toAbsolutePath())
      å…ƒã®Pathã€URIãŠã‚ˆã³æ–°ã—ã„ PathãŒã™ã¹ã¦åŒã˜Java仮想マシンã§(ãŠãらãç•°ãªã‚‹å‘¼ã³å‡ºã—)ã«ä½œæˆã•れã¾ã™ã€‚ ã»ã‹ã®ãƒ—ロãƒã‚¤ãƒ€ãŒä¿è¨¼ã‚’行ã†ã‹ã©ã†ã‹ã¯ãƒ—ロãƒã‚¤ãƒ€ã«ã‚ˆã£ã¦ç•°ãªã‚‹ãŸã‚ã€æœªæŒ‡å®šã§ã™ã€‚

      ファイルã®å†…容ã«ãƒ•ァイル・システムã¨ã—ã¦ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ãŸã‚ã®ãƒ•ã‚¡ã‚¤ãƒ«ãƒ»ã‚·ã‚¹ãƒ†ãƒ ãŒæ§‹ç¯‰ã•れる場åˆã€è¿”ã•れるURIãŒãã®ãƒ•ã‚¡ã‚¤ãƒ«ãƒ»ã‚·ã‚¹ãƒ†ãƒ å†…ã®æŒ‡å®šã•れãŸãƒ‘スを表ã™ã‹ã€ã¾ãŸã¯åŒ…å«ã™ã‚‹ãƒ•ァイル・システムã®URIをエンコードã™ã‚‹è¤‡åˆ URIを表ã™ã‹ã¯ã€å®Ÿè£…ã«ã‚ˆã£ã¦å¤§ããç•°ãªã‚Šã¾ã™ã€‚ ã“ã®ãƒªãƒªãƒ¼ã‚¹ã§ã¯ã€è¤‡åˆURIã®å½¢å¼ã¯å®šç¾©ã•れã¦ã„ã¾ã›ã‚“。ãã®ã‚ˆã†ãªã‚¹ã‚­ãƒ¼ãƒ ã¯ã€å°†æ¥ã®ãƒªãƒªãƒ¼ã‚¹ã§è¿½åŠ ã•れるå¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚

      戻り値:
      ã“ã®ãƒ‘スを表ã™URI
      スロー:
      IOError - 絶対パスã®å–得中ã«å…¥å‡ºåŠ›ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸå ´åˆã€ã¾ãŸã¯ãƒ•ァイルã®å†…容ã«ãƒ•ァイル・システムã¨ã—ã¦ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ãŸã‚ã®ãƒ•ã‚¡ã‚¤ãƒ«ãƒ»ã‚·ã‚¹ãƒ†ãƒ ãŒæ§‹ç¯‰ã•れã€åŒ…å«ã™ã‚‹ãƒ•ァイル・システムã®URIã‚’å–å¾—ã§ããªã„å ´åˆ
    • toAbsolutePath

      Path toAbsolutePath()
      ã“ã®ãƒ‘スã®çµ¶å¯¾ãƒ‘スを表ã™Pathオブジェクトを返ã—ã¾ã™ã€‚

      ã“ã®ãƒ‘スãŒã™ã§ã«çµ¶å¯¾ã§ã‚ã‚‹å ´åˆã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯å˜ã«ã“ã®ãƒ‘スを返ã™ã ã‘ã§ã™ã€‚ ãれ以外ã®å ´åˆã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ãã®ãƒ‘スを実装ã«ä¾å­˜ã—ãŸæ–¹æ³•ã§(通常ã¯ãã®ãƒ‘スをファイル・システムã®ãƒ‡ãƒ•ォルト・ディレクトリã«å¯¾ã—ã¦è§£æ±ºã™ã‚‹ã“ã¨ã«ã‚ˆã£ã¦)解決ã—ã¾ã™ã€‚ 実装ã«ã‚ˆã£ã¦ã¯ã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ãƒ•ァイル・システムã«ã‚¢ã‚¯ã‚»ã‚¹ã§ããªã„å ´åˆã«å…¥å‡ºåŠ›ã‚¨ãƒ©ãƒ¼ã‚’ã‚¹ãƒ­ãƒ¼ã™ã‚‹ã“ã¨ãŒã‚りã¾ã™ã€‚

      戻り値:
      絶対パスを表ã™Pathオブジェクト
      スロー:
      IOError - 入出力エラーãŒç™ºç”Ÿã—ãŸå ´åˆ
    • toRealPath

      既存ã®ãƒ•ァイルã®å®Ÿéš›ã®ãƒ‘スを返ã—ã¾ã™ã€‚

      ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã®æ­£ç¢ºãªå®šç¾©ã¯å®Ÿè£…ã«ä¾å­˜ã—ã¾ã™ãŒã€é€šå¸¸ã€ãれã¯ã“ã®ãƒ‘ス(ã“ã®ãƒ‘スã¨åŒã˜ãƒ•ァイルを検出ã™ã‚‹ãŒã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãŠã‚ˆã³ãƒ•ァイルã®å®Ÿéš›ã®åå‰ã‚’表ã™åå‰è¦ç´ ã‚’å«ã‚€çµ¶å¯¾ãƒ‘ス)ã‹ã‚‰æ´¾ç”Ÿã—ã¦ã„ã¾ã™ã€‚ ãŸã¨ãˆã°ã€ãƒ•ァイル・システムã«å¯¾ã™ã‚‹ãƒ•ァイルåã®æ¯”較ã§å¤§æ–‡å­—ã¨å°æ–‡å­—ãŒåŒºåˆ¥ã•れãªã„å ´åˆã€åå‰è¦ç´ ã¯å¤§æ–‡å­—ã¨å°æ–‡å­—ã®é•ã„を実際ã«åˆã‚ã›ã¦åå‰ã‚’表ã—ã¾ã™ã€‚ ã¾ãŸã€çµæžœã¨ãªã‚‹ãƒ‘スã‹ã‚‰ã¯å†—é•·ãªåå‰è¦ç´ ãŒå‰Šé™¤ã•れã¦ã„ã¾ã™ã€‚

      ã“ã®ãƒ‘スãŒç›¸å¯¾ã§ã‚ã‚‹å ´åˆã¯ã€toAbsolutePathメソッドを呼ã³å‡ºã—ãŸå ´åˆã¨åŒæ§˜ã«ã€æœ€åˆã«ãã®çµ¶å¯¾ãƒ‘スãŒå–å¾—ã•れã¾ã™ã€‚

      optionsé…列を使用ã™ã‚‹ã¨ã€ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒ»ãƒªãƒ³ã‚¯ã®å‡¦ç†æ–¹æ³•を指定ã§ãã¾ã™ã€‚ デフォルトã§ã¯ã€ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒ»ãƒªãƒ³ã‚¯ã¯ãã®æœ€çµ‚ターゲットã«è§£æ±ºã•れã¾ã™ã€‚ オプションNOFOLLOW_LINKSãŒå­˜åœ¨ã™ã‚‹å ´åˆã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒ»ãƒªãƒ³ã‚¯ã‚’解決ã—ã¾ã›ã‚“。 一部ã®å®Ÿè£…ã§ã¯ã€ã€Œ..ã€ãªã©ã®ç‰¹æ®Šãªåå‰ã‚’使用ã—ã¦è¦ªãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’å‚ç…§ã§ãã¾ã™ã€‚ 実際ã®ãƒ‘スをå–å¾—ã—ã¦ã„ã‚‹ã¨ãã«ã€ã€Œ..ã€(ã¾ãŸåŒç­‰ã®ã‚‚ã®)ã®ç›´å‰ã«ã€Œ..ã€ä»¥å¤–ã®åå‰ãŒå­˜åœ¨ã™ã‚‹å ´åˆã¯ã€å®Ÿè£…ã«ã‚ˆã£ã¦é€šå¸¸ã€ä¸¡æ–¹ã®åå‰ãŒå‰Šé™¤ã•れã¾ã™ã€‚ シンボリック・リンクを解決ã›ãšã€å‰ã®åå‰ãŒã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒ»ãƒªãƒ³ã‚¯ã§ã‚ã‚‹å ´åˆã€ãã®åå‰ã¯ã€çµæžœã®ãƒ‘スãŒã“ã®ãƒ‘スã¨åŒã˜ãƒ•ァイルを検出ã™ã‚‹ã“ã¨ãŒä¿è¨¼ã•れã¦ã„ã‚‹å ´åˆã«ã®ã¿å‰Šé™¤ã•れã¾ã™ã€‚

      パラメータ:
      options - シンボリック・リンクã®å‡¦ç†æ–¹æ³•を示ã™ã‚ªãƒ—ション
      戻り値:
      ã“ã®ã‚ªãƒ–ジェクトã«ã‚ˆã£ã¦æ¤œå‡ºã•れるファイルã®å®Ÿéš›ã®ãƒ‘スを表ã™çµ¶å¯¾ãƒ‘ス
      スロー:
      IOException - ファイルãŒå­˜åœ¨ã—ãªã„ã‹ã€å…¥å‡ºåŠ›ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸå ´åˆ
    • toFile

      default File toFile()
      ã“ã®ãƒ‘スを表ã™Fileオブジェクトを返ã—ã¾ã™ã€‚ ã“ã® PathãŒãƒ‡ãƒ•ォルト・プロãƒã‚¤ãƒ€ã«é–¢é€£ä»˜ã‘られã¦ã„ã‚‹å ´åˆã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€ã“ã®ãƒ‘スã®String表ç¾ã§æ§‹ç¯‰ã•れãŸFileオブジェクトを返ã™ã“ã¨ã¨åŒç­‰ã§ã™ã€‚

      ã“ã®ãƒ‘スãŒFile toPathメソッドを呼ã³å‡ºã™ã“ã¨ã«ã‚ˆã£ã¦ä½œæˆã•れãŸå ´åˆã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã«ã‚ˆã£ã¦è¿”ã•れ㟠FileオブジェクトãŒå…ƒã®Fileã«å¯¾ã—ã¦equalã§ã‚ã‚‹ã¨ã„ã†ä¿è¨¼ã¯ã‚りã¾ã›ã‚“。

      実装è¦ä»¶:
      デフォルトã®å®Ÿè£…ã¯ã€ã“ã®ãƒ‘スã¨åŒç­‰ã§ã™:
          new File(toString());
      
      ã“ã®Pathを作æˆã—ãŸFileSystemãŒãƒ‡ãƒ•ォルトã®ãƒ•ァイル・システムã§ã‚ã‚‹å ´åˆã¯ã€UnsupportedOperationExceptionãŒã‚¹ãƒ­ãƒ¼ã•れã¾ã™ã€‚
      戻り値:
      ã“ã®ãƒ‘スを表ã™Fileオブジェクト
      スロー:
      UnsupportedOperationException - ã“ã®PathãŒãƒ‡ãƒ•ォルト・プロãƒã‚¤ãƒ€ã«é–¢é€£ä»˜ã‘られã¦ã„ãªã„å ´åˆ
    • register

      ã“ã®ãƒ‘ã‚¹ã§æ¤œå‡ºã•れãŸãƒ•ァイルを監視サービスã«ç™»éŒ²ã—ã¾ã™ã€‚

      ã“ã®ãƒªãƒªãƒ¼ã‚¹ã§ã¯ã€ã“ã®ãƒ‘スã¯å­˜åœ¨ã—ã¦ã„るディレクトリを検出ã—ã¾ã™ã€‚ ãã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¯ã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªå†…ã®ã‚¨ãƒ³ãƒˆãƒªã‚’監視ã§ãるよã†ã«ç›£è¦–サービスã«ç™»éŒ²ã•れã¾ã™ã€‚ eventsパラメータã¯ç™»éŒ²ã™ã‚‹ã‚¤ãƒ™ãƒ³ãƒˆã§ã‚ã‚Šã€æ¬¡ã®ã‚¤ãƒ™ãƒ³ãƒˆã‚’å«ã‚ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

      • ENTRY_CREATE - エントリãŒãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªå†…ã«ä½œæˆã¾ãŸã¯ç§»å‹•ã•れãŸ
      • ENTRY_DELETE - エントリãŒãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‹ã‚‰å‰Šé™¤ã¾ãŸã¯å–り出ã•れãŸ
      • ENTRY_MODIFY - ディレクトリ内ã®ã‚¨ãƒ³ãƒˆãƒªãŒå¤‰æ›´ã•れãŸ

      ã“れらã®ã‚¤ãƒ™ãƒ³ãƒˆã®ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã¯ã€ã“ã®ãƒ‘ã‚¹ã§æ¤œå‡ºã•れるディレクトリã¨ã€ä½œæˆã€å‰Šé™¤ã€ã¾ãŸã¯å¤‰æ›´ã•れるディレクトリ・エントリを検出ã™ã‚‹ãƒ‘スã¨ã®é–“ã®ç›¸å¯¾ãƒ‘スã«ãªã‚Šã¾ã™ã€‚

      イベントã®ã‚»ãƒƒãƒˆã«ã¯ã€åˆ—挙型ã®StandardWatchEventKindsã§å®šç¾©ã•れãªã„実装固有ã®è¿½åŠ ã®ã‚¤ãƒ™ãƒ³ãƒˆã‚’å«ã‚ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

      modifiersパラメータã¯ã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®ç™»éŒ²æ–¹æ³•を修飾ã™ã‚‹ä¿®é£¾å­ã‚’指定ã—ã¾ã™ã€‚ ã“ã®ãƒªãƒªãƒ¼ã‚¹ã§ã¯ã€æ¨™æº–修飾å­ã¯å®šç¾©ã•れã¦ã„ã¾ã›ã‚“。 ãれã«ã¯ã€å®Ÿè£…固有ã®ä¿®é£¾å­ã‚’å«ã‚ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

      ファイルãŒã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒ»ãƒªãƒ³ã‚¯ã«ã‚ˆã£ã¦ç›£è¦–サービスã«ç™»éŒ²ã•れる場åˆã€ç™»éŒ²å¾Œã‚‚監視ãŒãã®ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒ»ãƒªãƒ³ã‚¯ã®å­˜åœ¨ã«å·¦å³ã•れ続ã‘ã‚‹ã‹ã©ã†ã‹ã¯å®Ÿè£…ã«å›ºæœ‰ã§ã™ã€‚

      定義:
      registerã€ã‚¤ãƒ³ã‚¿ãƒ•ェースWatchable
      パラメータ:
      watcher - ã“ã®ã‚ªãƒ–ジェクトを登録ã™ã‚‹ç›£è¦–サービス
      events - ã“ã®ã‚ªãƒ–ジェクトを登録ã™ã‚‹ã¹ãイベント
      modifiers - オブジェクトã®ç™»éŒ²æ–¹æ³•を修飾ã™ã‚‹ä¿®é£¾å­(ã‚ã‚‹å ´åˆ)
      戻り値:
      指定ã•れãŸç›£è¦–サービスã¸ã®ã“ã®ã‚ªãƒ–ジェクトã®ç™»éŒ²ã‚’表ã™ã‚­ãƒ¼
      スロー:
      UnsupportedOperationException - 未サãƒãƒ¼ãƒˆã®ã‚¤ãƒ™ãƒ³ãƒˆã¾ãŸã¯ä¿®é£¾å­ãŒæŒ‡å®šã•れãŸå ´åˆ
      IllegalArgumentException - イベントã¾ãŸã¯ä¿®é£¾å­ã®ç„¡åйãªçµ„ã¿åˆã‚ã›ãŒæŒ‡å®šã•れãŸå ´åˆ
      ClosedWatchServiceException - 監視サービスãŒé–‰ã˜ã‚‰ã‚Œã¦ã„ã‚‹å ´åˆ
      NotDirectoryException - ディレクトリ内ã®ã‚¨ãƒ³ãƒˆãƒªã‚’監視ã™ã‚‹ã‚ˆã†ã«ãƒ•ァイルãŒç™»éŒ²ã•れã¦ã„ã‚‹ãŒã€ãã®ãƒ•ァイルãŒãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ã¯ãªã„å ´åˆ(オプションã®å›ºæœ‰ä¾‹å¤–)
      IOException - 入出力エラーãŒç™ºç”Ÿã—ãŸå ´åˆ
    • register

      default WatchKey register(WatchService watcher, WatchEvent.Kind<?>... events) throws IOException
      ã“ã®ãƒ‘ã‚¹ã§æ¤œå‡ºã•れãŸãƒ•ァイルを監視サービスã«ç™»éŒ²ã—ã¾ã™ã€‚

      ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰å‘¼å‡ºã—ã®å‹•作ã¯ã€æ¬¡ã®å‘¼å‡ºã—ã®å‹•作ã¨ã¾ã£ãŸãåŒä¸€ã§ã™ã€‚

          register(watcher, events, new WatchEvent.Modifier[0]);
      

      使用例: エントリã®ä½œæˆã€å‰Šé™¤ã€ãŠã‚ˆã³å¤‰æ›´ã‚¤ãƒ™ãƒ³ãƒˆç”¨ã«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’登録ã™ã‚‹ã¨ã—ã¾ã™ã€‚

          Path dir = ...
          WatchService watcher = ...
      
          WatchKey key = dir.register(watcher, ENTRY_CREATE, ENTRY_DELETE, ENTRY_MODIFY);
      

      定義:
      registerã€ã‚¤ãƒ³ã‚¿ãƒ•ェースWatchable
      実装è¦ä»¶:
      デフォルトã®å®Ÿè£…ã¯ã€ã“ã®ãƒ‘スã¨åŒç­‰ã§ã™:
          register(watcher, events, new WatchEvent.Modifier[0]);
      
      パラメータ:
      watcher - ã“ã®ã‚ªãƒ–ジェクトを登録ã™ã‚‹ç›£è¦–サービス
      events - ã“ã®ã‚ªãƒ–ジェクトを登録ã™ã‚‹ã¹ãイベント
      戻り値:
      指定ã•れãŸç›£è¦–サービスã¸ã®ã“ã®ã‚ªãƒ–ジェクトã®ç™»éŒ²ã‚’表ã™ã‚­ãƒ¼
      スロー:
      UnsupportedOperationException - サãƒãƒ¼ãƒˆã•れã¦ã„ãªã„ã‚¤ãƒ™ãƒ³ãƒˆãŒæŒ‡å®šã•れãŸå ´åˆ
      IllegalArgumentException - イベントã®ç„¡åйãªçµ„ã¿åˆã‚ã›ãŒæŒ‡å®šã•れãŸå ´åˆ
      ClosedWatchServiceException - 監視サービスãŒé–‰ã˜ã‚‰ã‚Œã¦ã„ã‚‹å ´åˆ
      NotDirectoryException - ディレクトリ内ã®ã‚¨ãƒ³ãƒˆãƒªã‚’監視ã™ã‚‹ã‚ˆã†ã«ãƒ•ァイルãŒç™»éŒ²ã•れã¦ã„ã‚‹ãŒã€ãã®ãƒ•ァイルãŒãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ã¯ãªã„å ´åˆ(オプションã®å›ºæœ‰ä¾‹å¤–)
      IOException - 入出力エラーãŒç™ºç”Ÿã—ãŸå ´åˆ
    • iterator

      default Iterator<Path> iterator()
      ã“ã®ãƒ‘スã®åå‰è¦ç´ ã‚’処ç†ã™ã‚‹ã‚¤ãƒ†ãƒ¬ãƒ¼ã‚¿ã‚’è¿”ã—ã¾ã™ã€‚

      イテレータã«ã‚ˆã£ã¦è¿”ã•れる最åˆã®è¦ç´ ã¯ã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªéšŽå±¤ã®ãƒ«ãƒ¼ãƒˆã«ã‚‚ã£ã¨ã‚‚è¿‘ã„åå‰è¦ç´ ã‚’表ã—ã€2番目ã®è¦ç´ ã¯æ¬¡ã«ã‚‚ã£ã¨ã‚‚è¿‘ã„åå‰è¦ç´ ã¨ãªã‚Šã€ä»¥é™ã‚‚åŒæ§˜ã§ã™ã€‚ è¿”ã•れる最後ã®è¦ç´ ã¯ã€ã“ã®ãƒ‘スã§ç¤ºã•れるファイルã¾ãŸã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®åå‰ã§ã™ã€‚ イテレータã§ã¯ã€ãƒ«ãƒ¼ãƒˆãƒ»ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆ(存在ã™ã‚‹å ´åˆ)ã¯è¿”ã•れã¾ã›ã‚“。

      定義:
      iteratorã€ã‚¤ãƒ³ã‚¿ãƒ•ェースIterable<Path>
      実装è¦ä»¶:
      デフォルト実装ã¯ã€Iterator<Path>ã‚’è¿”ã—ã¾ã™ã€‚ã“ã®ãƒ‘スã§ã¯ã€getName(index)ã«ã‚ˆã£ã¦è¿”ã•れるPath (indexã®ç¯„囲ã¯ã‚¼ãƒ­ã‹ã‚‰getNameCount() - 1ã¾ã§ (包å«))をトラãƒãƒ¼ã‚¹ã—ã¾ã™ã€‚
      戻り値:
      ã“ã®ãƒ‘スã®åå‰è¦ç´ ã‚’処ç†ã™ã‚‹ã‚¤ãƒ†ãƒ¬ãƒ¼ã‚¿
    • compareTo

      int compareTo(Path other)
      2ã¤ã®æŠ½è±¡ãƒ‘ã‚¹ã‚’èªžå½™çš„ã«æ¯”較ã—ã¾ã™ã€‚ ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã§å®šç¾©ã•れる順åºã¯ãƒ—ロãƒã‚¤ãƒ€ã«å›ºæœ‰ã§ã‚りã€ãƒ‡ãƒ•ォルト・プロãƒã‚¤ãƒ€ã®å ´åˆã¯ãƒ—ラットフォームã«å›ºæœ‰ã§ã™ã€‚ ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ãƒ•ァイル・システムã«ã‚¢ã‚¯ã‚»ã‚¹ã—ãªã„ãŸã‚ã€ãƒ•ァイルãŒå­˜åœ¨ã—ã¦ã„ãªãã¦ã‚‚ã‹ã¾ã„ã¾ã›ã‚“。

      ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’使ã£ã¦ç•°ãªã‚‹ãƒ•ァイル・システム・プロãƒã‚¤ãƒ€ã«é–¢é€£ä»˜ã‘られã¦ã„るパスを比較ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。

      定義:
      compareToã€ã‚¤ãƒ³ã‚¿ãƒ•ェースComparable<Path>
      パラメータ:
      other - ã“ã®ãƒ‘ã‚¹ã¨æ¯”較ã•れるパス。
      戻り値:
      引数ãŒã“ã®ãƒ‘スã¨ç­‰ã—ã„å ´åˆã¯ã‚¼ãƒ­ã€‚ã“ã®ãƒ‘スãŒå¼•数より語彙的ã«å°ã•ã„å ´åˆã¯è² ã®å€¤ã€‚ã“ã®ãƒ‘スãŒå¼•数より語彙的ã«å¤§ãã„å ´åˆã¯æ­£ã®å€¤
      スロー:
      ClassCastException - パスãŒç•°ãªã‚‹ãƒ—ロãƒã‚¤ãƒ€ã«é–¢é€£ä»˜ã‘られã¦ã„ã‚‹å ´åˆ
    • equals

      boolean equals(Object other)
      ã“ã®ãƒ‘ã‚¹ãŒæŒ‡å®šã•れãŸã‚ªãƒ–ジェクトã¨ç­‰ã—ã„ã‹ã©ã†ã‹ã‚’テストã—ã¾ã™ã€‚

      指定ã•れãŸã‚ªãƒ–ジェクトãŒPathã§ãªã„ã‹ã€åˆ¥ã®FileSystemã«é–¢é€£ä»˜ã‘られãŸPathã§ã‚ã‚‹å ´åˆã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯falseã‚’è¿”ã—ã¾ã™ã€‚

      2ã¤ã®ãƒ‘スãŒç­‰ã—ã„ã‹ã©ã†ã‹ã¯ã€ãƒ•ァイル・システムã®å®Ÿè£…ã«ã‚ˆã£ã¦ç•°ãªã‚Šã¾ã™ã€‚ ãれらã®ãƒ‘スã¯å¤§æ–‡å­—å°æ–‡å­—ã®åŒºåˆ¥ãªã比較ã•れる場åˆã‚‚ã€å¤§æ–‡å­—å°æ–‡å­—を区別ã—ã¦æ¯”較ã•れる場åˆã‚‚ã‚りã¾ã™ã€‚ ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ãƒ•ァイル・システムã«ã‚¢ã‚¯ã‚»ã‚¹ã—ãªã„ãŸã‚ã€ãƒ•ァイルãŒå­˜åœ¨ã—ã¦ã„ãªãã¦ã‚‚ã‹ã¾ã„ã¾ã›ã‚“。 å¿…è¦ãªå ´åˆã¯ã€isSameFileメソッドを使用ã—ã¦2ã¤ã®ãƒ‘スãŒåŒã˜ãƒ•ァイルを検出ã™ã‚‹ã‹ã©ã†ã‹ã‚’確èªã§ãã¾ã™ã€‚

      ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯Object.equalsãƒ¡ã‚½ãƒƒãƒ‰ã®æ±Žç”¨è¦ç´„を満ãŸã—ã¾ã™ã€‚

      オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰:
      equalsã€ã‚¯ãƒ©ã‚¹Object
      パラメータ:
      other - ã“ã®ã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆã¨æ¯”較ã™ã‚‹ã‚ªãƒ–ジェクト
      戻り値:
      指定ã•れãŸã‚ªãƒ–ジェクトãŒã“ã®Pathã¨åŒã˜Pathã§ã‚ã‚‹å ´åˆã«ã®ã¿true
      関連項目:
    • hashCode

      int hashCode()
      ã“ã®ãƒ‘スã®ãƒãƒƒã‚·ãƒ¥ãƒ»ã‚³ãƒ¼ãƒ‰ã‚’計算ã—ã¾ã™ã€‚

      ãƒãƒƒã‚·ãƒ¥ãƒ»ã‚³ãƒ¼ãƒ‰ã¯ã€ãƒ‘スã®ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã«åŸºã¥ã„ã¦ãŠã‚Šã€Object.hashCodeãƒ¡ã‚½ãƒƒãƒ‰ã®æ±Žç”¨è¦ç´„を満ãŸã—ã¾ã™ã€‚

      オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰:
      hashCodeã€ã‚¯ãƒ©ã‚¹Object
      戻り値:
      ã“ã®ãƒ‘スã®ãƒãƒƒã‚·ãƒ¥ãƒ»ã‚³ãƒ¼ãƒ‰å€¤
      関連項目:
    • toString

      String toString()
      ã“ã®ãƒ‘ã‚¹ã®æ–‡å­—列表ç¾ã‚’è¿”ã—ã¾ã™ã€‚

      getPathメソッドを使用ã—ã¦ãƒ‘ス文字列を変æ›ã™ã‚‹ã“ã¨ã§ã“ã®ãƒ‘スãŒä½œæˆã•れãŸå ´åˆã¯ã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã«ã‚ˆã£ã¦è¿”ã•れるパス文字列ãŒãƒ‘スã®ä½œæˆã«ä½¿ç”¨ã•れãŸå…ƒã®Stringã¨ç•°ãªã‚‹ã“ã¨ãŒã‚りã¾ã™ã€‚

      è¿”ã•れるパス文字列ã¯ã€ãƒ‡ãƒ•ォルトã®åå‰åŒºåˆ‡ã‚Šæ–‡å­—を使用ã—ã¦ãƒ‘スã®åå‰ã‚’区切りã¾ã™ã€‚

      オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰:
      toStringã€ã‚¯ãƒ©ã‚¹Object
      戻り値:
      ã“ã®ãƒ‘ã‚¹ã®æ–‡å­—列表ç¾