Path用法

本文介绍了JavaJDK1.7中的Path接口及其静态工具类Paths,详细讲解了如何获取Path实例、文件路径管理方法(如getFileName(),getParent()等),以及Files类中的文件操作函数如createDirectories()和write()的使用。
摘要由CSDN通过智能技术生成

1、类的介绍
Path接口 是JDK1.7中定义的接口,主要用来在文件系统中定位文件,通常表示系统相关的文件路径。JDK中的介绍:An object that may be used to locate a file in a file system. It will typically represent a system dependent file path.

Paths类 是JDK1.7中定义的静态工具类,用来根据String格式的路径或者URI返回Path的实例。JDK中的介绍:This class consists exclusively of static methods that return a {@link Path} by converting a path string or {@link URI}.

2、Path实例的获取
Path是接口,实例不能通过new关键字直接去构建;而Path的实现类,官方并不想暴露出来给用户使用,所以我们应该通过其他途径去获取Path的实例。

这里,我总结了4个方向去获取Path的实例:

1)根据字符串格式的路径获取:使用Paths工具类中的get方法去获取,方法的参数是1个或1个以上的String,Paths会自动根据参数中的字符串对路径做拼接。另外,两个点".."表示的是路径向上回退一级。

2)根据URI获取:使用Paths的get(URI url)方法获取。

3)根据File的实例进行转换:File中定义了实例方法toPath(),可以将File实例转换为Path的实例。

4)从对其他Path实例的操作中获取:这个相关的方法就有很多了,例如Path自己的getParent()、normalize()等,或者Files中的诸多create、copy、walk等等多个系列的很多方法。这里就不一一列举了

3、文件路径管理(Path的主要方法)
根据前面可以知道,Path接口主要是用来管理文件路径的,所以文件路径管理涉及的主要也是Path中的方法。当然,这些基本上也涵盖了Path中的绝大多数方法。

Part 1:
1)path.getFileName():获取文件、目录或者其他类型文件(下文统统用文件指代这几种情况的任一)的名称,返回值类型是Path。例如对于/users/nanxs/test构造的Path实例,返回的就是test对应的Path实例。

2)path.getParent():获取文件的父路径的Path实例,例如对于/users/nanxs/test构造的Path实例,返回的就是/users/nanxs对应的Path实例。

3)path.getName(int index)和path.getNameCount():分层拆分路径,例如对于/users/nanxs/test,getNameCount()返回的就是3,而对于path.getName(int index),当index分别为0~2时,得到的结果分别是users、nanxs和test。

4)path.getRoot():获取根路径,例如对于Linux/Mac OS,根路径一般就是"/"。

5)path.getFileSystem():获取文件系统。对FileSystem不熟悉的读者请参考

Path path = Paths.get(System.getProperty(“user.dir”), “data/test.txt”);

// 1. get name of the file or direction
System.out.println("file name: " + path.getFileName());

Files.createDirectories(Path path) 是Java中用于创建多级目录的方法,它位于java.nio.file.Files类中。这个方法可以用来创建指定路径的目录,包括任何不存在的父目录。
Files.write(fileNamePath, file, StandardOpenOption.CREATE);

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值