[NIO.2] 第二篇 NIO.2 和 Path 类简介

本文介绍NIO.2中的Path类,它是文件路径的主要表示形式,用于操作文件系统中的文件、文件夹及链接。Path类是Java 7引入的新特性之一,作为java.io.File类的补充,提供更丰富的文件系统操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

想要初步了解 NIO.2 API,也就是通常所说的“JSR203: More New I/O APIs for the Java Platform”,最好的切入点就是新的抽象类 java.nio.file.Path 类。这个类是 NIO.2 的里程碑,所有应用程序中的 I/O 操作都和这个类密不可分。这个类几乎可以说是 NIO.2 中最常用的类。

[b][size=x-large]Path 类简介[/size][/b]

文件路径存在于文件系统中。文件系统可以通过 java.nio.file.FileSystems 这个 final 类来进行访问,从这个类中可以获取 java.nio.file.FileSystem 类的对象。FileSystems 类提供了下面两个很重要的方法,同时也提供了 newFileSystem() 方法,用来创建一个新的文件系统:

getDefault():这个静态方法返回 JVM 默认的 FileSystem - 一般说来,也就是操作系统的默认文件系统。
getFileSystem(URI uri):这个静态方法从一组文件系统提供者中返回一个与 URI 匹配的文件系统(FileSystem)。Path 类可以在任何文件系统(FileSystem)和任何存储空间(java.nio.file.FileStore; 这个类反应了底层的存储)上操作文件。默认情况下(最常用),Path 类引用默认文件系统(计算机的文件系统)的文件,但是 NIO.2 是完全模块化的—— FileSystem 的具体实现是在内存中的一组数据,因此在网络环境或在虚拟文件系统中,NIO.2 也完全适用。NIO.2 提供给我们在文件系统中操作文件、文件夹或链接的所有方法。

Path 类是 java.io.File 类的升级版,但是在 File 类中还保留了一些特殊的操作,因此 File 类并没有过时或不推荐使用。并且,从 Java 7 开始,两个类都可以使用,这意味着,开发者可以混合使用两个类来编写最好的 I/O 应用。 Java 7 提供了简单的 API 对这两个类进行相互转换。

想想你曾经编写过的类似下面的代码:

import java.io.File;

File file = new File("index.html");


从 Java 7 开始,不再需要这样写了,你可以转换为:

import java.nio.file.Path;
import java.nio.file.Paths;

Path path = Paths.get("index.html");


仔细看看,Path 类相当于用编程的方式来反应文件系统中的路径。路径的字符串中包含了文件名,目录列表以及操作系统相关的分隔符(例如,在 Windows 中是反斜线“\”,在 Linux 中是正斜线“/”),这意味着 Path 类不是系统独立,而是依赖于系统路径字符串。由于 Path 类基于字符串创建,因此它引用的资源也有可能不存在。

文章来源:[url]http://www.aptusource.org/2014/03/path-class/[/url]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值