【3.1】Path 与 Paths 类 您所在的位置:网站首页 路径不存在是什么意思 【3.1】Path 与 Paths 类

【3.1】Path 与 Paths 类

2024-07-10 21:08| 来源: 网络整理| 查看: 265

文章目录 一、引言 二、Path接口① 创建Path实例② 创建绝对路径Path③ 创建相对路径Path④ . 与 . .. 表示当前路径. . 表示父类目录 ⑤ 使用Path.normalize()标准化路径 三、Paths Last Article

一、引言

JDK 7 对 NIO增强了对文件处理和文件系统特性的支持,因为 NIO 提供的一些功能,NIO已经成为文件处理中越来越重 要的部分。

二、Path接口

Path 接口表示文件系统的路径。可以指向文件或文件夹。也有相对路径和绝对路径之分。在很多方面,画图java.nio.file.Path 接口和java.io.File有相似性,但也有一些细微的差别。在很多情况下,可以用Path来代替File类。

① 创建Path实例

可以使用Paths类的静态方法Paths.get()来产生一个实例.

import java.nio.file.Path; import java.nio.file.Paths; public class PathExample { public static void main(String[] args) { Path path = Paths.get("c:\\data\\myfile.txt"); }

代码开头导入了两个包是因为Paths使用了Paths.get()方法创建了Path的实例。它是一个工厂方法。

② 创建绝对路径Path

windows下的路径写法,\为转义字符.

Path path = Paths.get("c:\\data\\myfile.txt");

在Unix系统(Linux,MacOS,FreeBSD等)中,上面中的path是这样的:

Path path = Paths.get("/home/jakobjenkov/myfile.txt");

注:如果把以/开头path的格式运行在windows系统中,会将其解析为相对路径。例如:左边的路径将会被解析为路径是在C盘。其对应的绝对路径是:

/home/myfile.txt ---> C:/home/myfile.txt ③ 创建相对路径Path

相对路径指从一个已确定的路径开始到某一文件或文件夹的路径。可以通过Paths.get(basePath, relativePath)创建一个相对路径Path.

Path projects = Paths.get("d:\\data", "projects"); Path file = Paths.get("d:\\data", "projects\\a-project\\myfile.txt");

1例子创建了一个指向d:\data\projects文件夹的实例。

2例子创建了一个指向d:\data\projects\a-project\myfile.txt文件的实例。

④ . 与 . . . 表示当前路径

1. 用在路径中:

Path currentDir = Paths.get(“d:\\data\\projects\.\a-project”);

对应的就是如下路径

d:\data\projects\a-project

2. 用在创建path实例中:

创建的currentDir对应的路径就是运行这段代码的项目工程目录。

Path currentDir = Paths.get("."); System.out.println(currentDir.toAbsolutePath()); . . 表示父类目录

1. 用在路径中:

Path currentDir = Paths.get(“d:\\data\\..\a-project”);

对应的就是如下路径

d:\a-project

在data目录后面的. .符号,将指向的目录修改为d目录,因此,最终path指向d目录。

2. 用在创建path实例中:

Path parentDir = Paths.get(“..”);

Path对应的路径是当前运行程序目录的上级目录。

⑤ 使用Path.normalize()标准化路径

标准化的含义是路径中的.和. .都被去掉,指向真正的路径目录地址。

String originalPath = "d:\\data\\projects\\a-project\\..\\another-project"; Path path1 = Paths.get(originalPath); System.out.println("path1 = " + path1); Path path2 = path1.normalize(); System.out.println("path2 = " + path2);

输出结果:

path1 = d:\data\projects\a-project\..\another-project path2 = d:\data\projects\another-project

标准化后的路径不再包含 a-project…部分,因为它是多余的。

三、Paths

Paths提供的get()方法用来获取 Path 对象 Path get(String first, String … more) 用于将多个字符串串连成路径。

Last Article

【2.2】Pipe 管道



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有