0、说明

用于读Path操作的接口(Path)与实现类(Paths)

1、模块:java.nio.file.Path、java.nio.file.Paths

2、方法

2.1、Paths

只有两个静态方法,用法:Paths.xxx( ... )

Path get( String first , String... more )

用连接符把这些参数中的String连接起来,得到一个对应的Path(和Path.of( ... )相同)

Windows中的连接符是\

Path get( URI uri ) 将一个给定的URI转化为Path对象

2.2、Path

2.2.1、静态方法,用法:Path.xxx( ... )

Path of( String first , String... more)

与Paths.get(...)作用相同

返回一个Path对象

Path of( URI uri )

2.2.2、实例方法,用法:p.xxx( ... )

返回值类型

方法

说明

int compareTo(Path other) 比较两个Path
boolean endsWith(String other) 判断该Path是否以other结尾
boolean endsWith(Path other) 判断该Path是否以另一个Path结尾
boolean equals(Object other) 判断该Path是否和另一个元素相等
Path getFileName() 文件名对应的Path
FileSystem getFileSystem() 返回构造了这个Path的文件系统
Path getName(int index)

返回Path某一级目录的名字

比如 usr\Docs\Test,对应0/1/2分别是usr、Docs、Test

int getNameCount() 返回Path目录有几级,常配合getName(int index)使用
Path getParent() 获取父目录的Path
Path getRoot() 获取根目录的Path
int hashCode() hash code
boolean isAbsolute() 判断该Path是否是绝对路径
Iterator<Path> iterator() 实现迭代器,允许对Path[ ]使用for each遍历
Path normalize() 将路径正规化(即转换为不含.和..的绝对路径)
WatchKey register(WatchService watcher, WatchEvent.Kind<?>... events)  
WatchKey register(WatchService watcher, WatchEvent.Kind<?>[] events, WatchEvent.Modifier... modifiers)  
Path relativize(Path other) 返回两个路径间的相对路径
Path resolve(String other)

如果other是绝对路径,返回other;

如果other是null,返回this;

否则,在this之后拼接other形成新Path

Path resolve(Path other)
Path resolveSibling(String other)

如果other是绝对路径,返回other;

如果other是null,返回this;

否则,在this的父目录下拼接other形成新的Path

Path resolveSibling(Path other)
boolean startsWith(String other) 判断该Path是否以other开头
boolean startsWith(Path other) 判断该Path是否以other开头
Path subPath(int start , int end) 返回从start到end的subpath
Path toAbsolutePath() 返回绝对路径
File toFile() Path→File
Path toRealPath(LinkOption... options)  
String toString() 返回该Path对应的String
URI toUri() 返回该Path对应的URI

正规路径:不含.和..的绝对路径

3、方法说明

最常用:

Path→String:p.toString()

Java:Path与Paths的更多相关文章

  1. Java的Path、Paths和Files

    前言 因为这几天被java.nio的这几个接口和工具类卡到了,就顺便地查了一波文档以及使用方法,这篇其实更像是API的复制粘贴,只不过我在注释里多写了一些output和注意事项,看不惯API的可以选择 ...

  2. 什么是java path环境变量

    参考:https://docs.oracle.com/javase/tutorial/essential/environment/paths.html 从orcle官网的文档中可以看到java pat ...

  3. java IO流 (九) Path、Paths、Files的使用

    1.NIO的使用说明:>Java NIO (New IO,Non-Blocking IO)是从Java 1.4版本开始引入的一套新的IO API,可以替代标准的Java IO AP.>NI ...

  4. [Leetcode][JAVA] Path Sum I && II

    Path Sum Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that addi ...

  5. Ubuntu下增加eclipse菜单图标并配置java path(解决点击图标不能启动eclipse的问题)

    Ubuntu下增加eclipse菜单图标 Ubuntu的菜单图标在/usr/share/applications目录下. 1. 在/usr/share/applications目录下新建eclipse ...

  6. java path

    static{ String path = new Object(){ public String getPath() { return this.getClass().getResource(&qu ...

  7. LeetCode第[62]题(Java):Unique Paths 及扩展

    题目:唯一路径(机器人走方格) 难度:Medium 题目内容: A robot is located at the top-left corner of a m x n grid (marked 'S ...

  8. NIO.2中Path、 Paths、Files类的使用

  9. Java NIO教程 文件系统

    在NIO.2的文件系统中,Path是一切操作的基础.Path准确来说,代表着文件系统中的位置.可以代表一个目录(也就是通常所说的文件夹),也可以代表一个文件. 在新文件系统中,还有一个不得不说的就是F ...

随机推荐

  1. logrotate 日志切割

    logrotate是一个日志文件管理工具.用于分割日志文件,删除旧的日志文件,并创建新的日志文件,起到"转储"作用. 配置文件 Linux系统默认安装logrotate工具,它默认 ...

  2. LNMP架构搭建

    目录 一:LNMP架构简介 1.Nginx与uwsgi 二:django框架+python 1.创建用户 2.安装依赖包 3.安装uwsgi和django 4.测试python 5.创建django项 ...

  3. uni微信小程序优化,多个分包在用的公共代码该放在哪?

    公共的代码包括公用的vue组件和js代码,从维护性的角度来说应该放到主包才对, 但是主包有大小限制,如果把2个分包都在用的代码放到主包里面那2M很快就满了. 所以该放在哪?我的方案是从维护的角度放在主 ...

  4. 深度学习快速参考 | iBooker·ApacheCN

    原文:Deep Learning Quick Reference 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 不要担心自己的形象,只关心如何实现目标.--<原则>,生活原则 ...

  5. NumPy 数组学习手册·翻译完成

    原文:Learning NumPy Array 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远. 在线阅读 ApacheCN 面试求职交流群 ...

  6. 如何将EDI报文转换为CSV格式文件?

    如果您对EDI项目实施有一定的了解,想必您一定知道,在正式开始EDI项目实施之前,都会有EDI顾问与您接洽,沟通EDI项目需求.其中,会包含EDI通信双方使用哪种传输协议,传输的报文是符合什么标准的, ...

  7. CSS控制图片大小

    转载请注明来源:https://www.cnblogs.com/hookjc/ 1.CSS控制背景图片:    对于一个网页,我们开始设计的时候,可能没有过多的去想背景图到底是什么,因为大多都是设计背 ...

  8. java-数据库操作(JDBC)

    前言:JDBC用到的API和常用方法 DriverMannager类 加载驱动并创建与数据库的连接,通常使用Class类的静态方法forName()来实现加载驱动,使用getConnection(St ...

  9. 如何在 pyqt 中实现全局事件总线

    前言 在 Qt 中可以使用信号和槽机制很方便地实现部件之间的通信,考虑下面这样的场景: 我想要点击任意一个专辑卡并通知主界面跳转到专辑界面,那么一种实现方式如上图所示:点击任意一个蓝色方框所示的专辑卡 ...

  10. docker中run和start的区别?

    docker run 后面指定的是一个镜像 而docker start指定的是一个容器 docker run是利用镜像生成容器,并启动容器,而docker start是启动一个之前生成过的容器