Java NIO.2
收藏

详细介绍 JSR203(More New I/O APIs for the Java Platform)规范。 从 Java 7 开始,可以使用 NIO.2 部分替换旧的 I/O 操作。

分享到: Sina Tec

最近更新文章

[NIO.2] 第二十一篇 创建软链接

在 NIO.2 中,创建软链接非常简单,只需要调用 Files.createSymbolicLink() 方法即可。这个方法需要传入软链接和目标文件的 Path 对象,并且可以传入一组文件属性,返回软链接的 Path 对象。 如果你的文件系统不支持软链接,那么将会抛出 UnsupportedOperationException 异常。记住,目标文件可以使用绝对路径也可以使用相对路径来定义,并且目标 ...
 
cucaracha 评论(0) 有3242人浏览 2014-04-02 18:35

[NIO.2] 第二十篇 使用命令行创建链接

Windows 用户可以通过命令行的  mklink 命令来创建软链接或硬链接。这个命令有很多选项可用,部分选项列举如下:     /D      创建目录的软链接,默认创建的是文件软链接。     /H      创建硬链接。     /J        创建目录节点(Junction)。     Link    定义新的符号链接名。     Target  指定符号链接指向的文件路径(可以是 ...
cucaracha 评论(0) 有878人浏览 2014-03-31 21:21

[NIO.2] 第十九篇 软链接与硬链接

对于 Unix 用户(特别是管理员)来说,要非常熟悉链接的概念。链接分为两种:软链接(符号链接)和硬链接。如果你是 Windows 用户,可能对链接不是很熟悉,但是 Windows 系统却完全支持它们,尤其是软链接,在 Windows 中通常叫做快捷方式。 NIO.2 同时支持这两种链接,每个 Path 类的方法都能判断当前文件是否为链接,并且按你的要求做相应的处理。 链接简介 当你只通过文件名 ...
cucaracha 评论(0) 有1477人浏览 2014-03-30 17:54

[NIO.2] 第十八篇 用户自定义属性视图

如果你发现 NIO.2 内置的属性视图不能满足你的要求,或者你想给文件设置某些特殊的属性,那么你可以使用自定义属性视图。NIO.2 提供了 UserDefinedFileAttr ...
cucaracha 评论(0) 有1227人浏览 2014-03-29 20:00

[NIO.2] 第十七篇 读取文件存储设备的属性

如果将电脑看作文件存储的容器,那么有很多类型的文件存储,例如:分区、硬盘、卷标,等等。NIO.2 中可以通过  FileStore 这个抽象类来得到每种类型的文件存储信息。你可以获取文件存储的名字、类型、总空间、已用空间和剩余空间。 获得所有文件存储的属性 首先调用 FileSystems.getDefault() 方法获取默认文件系统,然后再调用 FileSystem.getFileStores ...
cucaracha 评论(0) 有1667人浏览 2014-03-29 14:43

[NIO.2] 第十六篇 属性视图之 ACL View

一个访问控制列表(ACL)就是一组用来精确控制访问文件的权限列表。ACL 控制着文件所有者、权限、以及各种类型的文件标识。NIO.2 提供了 AclFileAttribute ...
cucaracha 评论(0) 有1704人浏览 2014-03-29 13:36

[NIO.2] 第十五篇 属性视图之 POSIX View

对于 Unix 用户来说是个好消息!POSIX 视图扩展 Basic 视图并支持 Unix 及其它相关操作系统。POSIX 视图支持文件所有者、组拥有者、以及九个访问权限。 基于 PosixFileAttributes 类,可以通过下面的方式得到 POSIX 属性: import java.io.IOException; import java.nio.file.Files; import ...
cucaracha 评论(0) 有1603人浏览 2014-03-28 19:59

[NIO.2] 第十四篇 属性视图之 File Owner View

大多数文件系统都有文件所有者的概念,并且决定了访问文件系统对象的权限。在 NIO.2 中,提供了 UserPrincipal 接口来关联文件所有者这个概念,并且提供了 FileOwenerAttributeView 接口来设置和读取文件所有者。 注:在本文的例子中使用的文件所有者名称为“apress”,但是在你的系统上可能没有这个用户。运行测试代码的时候会抛出 java.nio.file.attr ...
cucaracha 评论(0) 有1689人浏览 2014-03-28 18:18

[NIO.2] 第十三篇 属性视图之 DOS View

为了支持 DOS(或 Samba) 文件系统,DosFileAttributeView 属性视图扩展了 Basic 属性视图(意味着 DOS 属性视图是 Basic 属性视图的子类,可以直接访问父类的属性)。DOS 属性视图提供了四个属性,对应下面的四个方法: isReadOnly(): 返回只读属性值(true 表示文件不能被删除或修改) isHidden(): 返回文件是否隐藏的属性(true ...
cucaracha 评论(0) 有1212人浏览 2014-03-27 16:31

[NIO.2] 第十一篇 判断文件系统所支持属性视图

在访问文件属性之前,需要确保文件系统支持你所使用的属性视图。NIO.2 中可以获取文件系统所支持的属性视图名称列表,也可以通过 FileStore 类来检验文件存储是否支持某个属性视图。 通过调用 FileSystems.getDefault() 可得到当前的默认文件系统,调用 FileSystem.supportedFileAttributeViews() 方法可得到文件系统支持的属性视图列表,例 ...
cucaracha 评论(0) 有1626人浏览 2014-03-27 16:28

[NIO.2] 第十二篇 NIO.2 属性视图之 Basic View

大多数的文件系统都支持一些通用文件属性(文件大小、文件创建时间、最后访问时间、最后编辑时间、等等)。这些通用属性都被分组到  BasicFileAttrib ...
cucaracha 评论(0) 有1507人浏览 2014-03-27 14:56

[NIO.2] 第十篇 NIO.2 中的文件属性

如果对于文件或目录还有疑问,例如文件是否隐藏、当前对象是文件还是目录、文件占用多少磁盘空间、文件拥有者是谁、等等。这一切问题都可以从文件元数据中得到。 NIO.2 中的元数据就是文件属性,并且提供了 java.nio.file.attribute 包来访问元数据。因为不同的文件系统有不同的文件属性,NIO.2 将这些属性通过视图(view)进行分组,每个视图都对应特定的文件系统。一般来说,视图的属 ...
cucaracha 评论(7) 有2148人浏览 2014-03-26 14:15

[NIO.2] 第九篇 迭代 Path 对象中的所有元素名称

自从 Path 类实现了 Iterable 接口后,你就可以通过迭代的方法获取 Path 对象上的所有元素。下面是使用for 循环迭代 Path 对象的例子: Path path = Paths.get("C:", "rafaelnadal/tournaments/2009", "BNP.txt"); for (Path nam ...
cucaracha 评论(0) 有1125人浏览 2014-03-25 15:13

[NIO.2] 第八篇 比较两个 Path 对象

为了不同的目的,你可以使用不同的方式来比较两个 Path 对象是否相等。 首先,你可以调用 Path.equals() 方法来进行判断,这个方法遵守 Object.equals() 方 ...
cucaracha 评论(0) 有1764人浏览 2014-03-25 15:11

[NIO.2] 第七篇 通过两个文件之间的关系构建 Path 对象

当你需要通过从一个文件位置到另一个文件位置构建 Path 对象的时候,你可以调用  relativize() 方法,这个方法将通过这两个位置之间的关系来构建 Path 对象。调用这个方法的 Path 对象称为原始路径,传入这个方法的 Path 对象称为传入路径。最后得到的 Path 对象是相对于原始路径的相对路径。为了更好地理解,下面用几个简单的例子来说明,假设有下面两个路径: Path pat ...
cucaracha 评论(0) 有1184人浏览 2014-03-25 15:09

[NIO.2] 第六篇 合并两个 Path 对象

合并两个 Path 对象可以方便你先定义一个根路径,然后再在后面添加其它的路径。当你需要使用公共路径的时候,这个功能相当有用。NIO.2 提供了 resolve() 方法来支持这个功能。下面看看例子: //define the fixed path Path base = Paths.get("C:/rafaelnadal/tournaments/2009"); ...
 
cucaracha 评论(0) 有1648人浏览 2014-03-24 17:23

[NIO.2] 第五篇 Path 对象的转换

本文中,你将可以看到如何将 Path 对象转换为其它对象。本文所有例子都是基于下面的 Path 对象: Path path = Paths.get("/rafaelnadal/tournaments/2009", "BNP.txt"); 将 Path 转换为 String 可以直接使用 Path.toString() 方法进行转换: //output ...
cucaracha 评论(0) 有3936人浏览 2014-03-24 17:20

[NIO.2] 第四篇 从 Path 对象获取信息

在定义了 Path 对象后,你就可以调用它上面的一系列方法获取关于文件路径的有用信息。这些方法都基于一个前提条件,就是 NIO.2 将路径字符串分隔为一个个的元素(每个元素表示一个目录或文件的子路径),并且将元素由高到低分配索引 0 到 n-1(n 指元素的个数)。一般情况下,根下的第一个目录将会分配索引 0,随后索引递增。本文的例子都是基于 C:\rafaelnadal\tournaments\2 ...
cucaracha 评论(0) 有1580人浏览 2014-03-24 17:18

[NIO.2] 第三篇 定义 Path 类

一旦确认了文件系统上的一个文件或目录,那么就可以定义一个 Path 类来指向它。定义 Path 类可以使用绝对路径、相对路径、路径中带有一个点号“.”(表示当前目录)、路径中带有两个点“..”(表示上一层目录)等。定义 Path 类最简单的方法是调用辅助类 Paths 的 get() 方法。下面将介绍使用不同的方式来得到 C:\rafaelnadal\tournaments\2009\BNP.txt ...
cucaracha 评论(0) 有2374人浏览 2014-03-24 17:12

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

想要初步了解 NIO.2 API,也就是通常所说的“JSR203: More New I/O APIs for the Java Platform”,最好的切入点就是新的抽象类 java.nio.file.Path 类。这个类是 NIO.2 的里程碑,所有应用程序中的 I/O 操作都和这个类密不可分。这个类几乎可以说是 NIO.2 中最常用的类。 Path 类简介 文件路径存在于文件系统中。文件 ...
cucaracha 评论(0) 有2317人浏览 2014-03-23 23:47
  • 专栏创建者:cucaracha
  • 创建时间:2014-03-27 21:11:59
  • 专栏文章数:41篇
  • 专栏被浏览:85821 次

本专栏热门文章

最新评论

不错,还没注意java 7已经增加了这么多类了
freesea 评论了 [NIO.2] 第十篇 NIO.2 中的文件属性
有个问题,想请教一下楼主:在代码中经常看到try catch语句: try (InputStream ...
SpringJava 评论了 [NIO.2] 第二十九篇 删除、复制、移动目录 ...
jahu 写道cucaracha 写道jahu 写道cucaracha 写道jahu 写道不知所然,N ...
cucaracha 评论了 [NIO.2] 第十篇 NIO.2 中的文件属性
cucaracha 写道jahu 写道cucaracha 写道jahu 写道不知所然,NIO.2 系列 ...
jahu 评论了 [NIO.2] 第十篇 NIO.2 中的文件属性
jahu 写道cucaracha 写道jahu 写道不知所然,NIO.2 系列请参考前后博文。看完了, ...
cucaracha 评论了 [NIO.2] 第十篇 NIO.2 中的文件属性
cucaracha 写道jahu 写道不知所然,NIO.2 系列请参考前后博文。看完了,,还没看明白你 ...
jahu 评论了 [NIO.2] 第十篇 NIO.2 中的文件属性
jahu 写道不知所然,NIO.2 系列请参考前后博文。
cucaracha 评论了 [NIO.2] 第十篇 NIO.2 中的文件属性
不知所然,
jahu 评论了 [NIO.2] 第十篇 NIO.2 中的文件属性
Global site tag (gtag.js) - Google Analytics