当前位置:首页 > 开发 > 编程语言 > Java IO > 正文

[NIO.2] 第四篇 从 Path 对象获取信息

发表于: 2014-03-24   作者:cucaracha   来源:转载   浏览:
摘要: 在定义了 Path 对象后,你就可以调用它上面的一系列方法获取关于文件路径的有用信息。这些方法都基于一个前提条件,就是 NIO.2 将路径字符串分隔为一个个的元素(每个元素表示一个目录或文件的子路径),并且将元素由高到低分配索引 0 到 n-1(n 指元素的个数)。一般情况下,根下的第一个目录将会分配索引 0,随后索引递增。本文的例子都是基于 C:\rafaelnadal\tournaments\
在定义了 Path 对象后,你就可以调用它上面的一系列方法获取关于文件路径的有用信息。这些方法都基于一个前提条件,就是 NIO.2 将路径字符串分隔为一个个的元素(每个元素表示一个目录或文件的子路径),并且将元素由高到低分配索引 0 到 n-1(n 指元素的个数)。一般情况下,根下的第一个目录将会分配索引 0,随后索引递增。本文的例子都是基于 C:\rafaelnadal\tournaments\2009\BNP.txt 的 Path 对象:

Path path = Paths.get("C:", "rafaelnadal/tournaments/2009", "BNP.txt"); 


获取文件或目录名

调用 Path 对象的 getFileName() 方法将会返回离根目录最远的文件或文件夹名称:
//output: BNP.txt 
System.out.println("The file/directory indicated by path: " + path.getFileName()); 


获取根目录 Path 对象

调用 Path 对象的 getRoot() 方法将会返回根目录 Path 对象,如果没有根目录则会返回 null:

//output: C:\ 
System.out.println("Root of this path: " + path.getRoot()); 


获取父目录 Path 对象

调用 Path 对象的 getParent() 方法将会返回父目录的 Path 对象,如果没有父目录则会返回 null:

//output: C:\rafaelnadal\tournaments\2009 
System.out.println("Parent: " + path.getParent()); 


获取 Path 对象中的元素名称

调用 Path 对象的 getNameCount() 方法可以返回 Path 对象上所有元素的个数,再调用 getName() 方法可以获得每个元素的名称:
//output: 4 
System.out.println("Number of name elements in path: " + path.getNameCount()); 
 
//output: rafaelnadal  tournaments  2009  BNP.txt 
for (int i = 0; i < path.getNameCount(); i++) { 
  System.out.println("Name element " + i + " is: " + path.getName(i)); 
} 


获取 Path 中的子路径

调用 Path 对象的 subpath() 方法可以提取路径中的子路径信息,这个方法有两个参数分别表示元素索引的开始和结束:

//output: rafaelnadal\tournaments\2009 
System.out.println("Subpath (0,3): " + path.subpath(0, 3)); 


文章来源: http://www.aptusource.org/2014/03/nio-2-get-information-from-path/

[NIO.2] 第四篇 从 Path 对象获取信息

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

我来说两句
评论内容:
验  证  码:
 
(网友评论仅供其表达个人看法,并不表明本站同意其观点或证实其描述。)
评论列表
已有 0 条评论(查看更多评论)
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号