学科分类
目录
Java基础

Path接口

通过前面的学习可知,File虽然可以访问文件系统,但是File类所提供的方法性能较低,大多数方法在出错时仅返回失败而不提供异常信息,不仅如此,File类还不能利用特定的文件系统的特性。为了弥补这种不足,NIO.2提供了一个Path接口,该接口是一共用在文件系统中定位文件的对象,通常表示一个依赖于系统的文件路径。除此之外,NIO.2还提供了Paths和Files两个工具类,其中Paths类中提供了两个返回Path的静态方法,通过这两个方法可以创建Path对象,而Files类中提供了大量的静态方法来操作文件。

接下来列举一下Path中的常用方法,如表1所示。

表1 Path接口的常用方法

方法声明 功能描述
boolean endsWith(String other) 判断当前路径是否以指定的字符串结尾
Path getName(int index) 返回此路径的名称元素作为路径对象
int getNameCount() 返回路径中名称元素的数量
Path getParent() 返回父路径,如果此路径没有父路径,则返回null
Path getRoot() 返回该路径的根组件作为路径对象,如果此路径没有根组件,则返回null
Path toAbsolutePath() 返回表示此路径的绝对路径的路径对象
URI toUri() 返回表示此路径的URI地址

了解了Path接口的常用方法及其功能后,接下来通过一个案例来演示Path接口的基本使用,如文件1所示。

文件1 Example20.java

 1    import java.nio.file.Path;
 2    import java.nio.file.Paths;
 3    public class Example20 {
 4        public static void main(String[] args) {
 5            // 使用Paths的get()方法创建Path对象
 6            Path path = Paths.get("D:\\test\\文件夹\\test.txt");
 7            // 输出Path对象中的信息
 8            System.out.println("path的根路径:" + path.getRoot());
 9            System.out.println("path的父路径:" + path.getParent());
 10            System.out.println("path中的路径名称数:" + path.getNameCount());
 11            // 循环输出路径名称
 12            for (int i = 0; i < path.getNameCount(); i++) {
 13                // 获取指定索引处的路径名称
 14                Path name = path.getName(i);
 15                System.out.println("索引为" + i + " 的路径的名称为: " + name);
 16            }
 17            System.out.println("path的URI路径为:" + path.toUri());
 18            System.out.println("path的绝对路径:" + path.toAbsolutePath());
 19        }
 20    }

运行结果如图1所示。

图1 运行结果

文件1中,首先使用Paths的get()方法创建了Path对象,然后分别使用Path对象中的各种方法来输出对象中的路径信息。

点击此处
隐藏目录