background image

JAVA 版本:Java 7 简化文件操作

  下面的代码片段是由经过验证的程序修改而来。观察这些代码片段你会发现,跟以前

 

的版本相比,在 Java7 里,文件相关的操作变得简单的多了。通过使用新的 Files 类里提
供的各种方法,你可以只用一行代码就能完成下列的文件操作:
  创建文件
  删除文件
  复制文件
  文件移动/改名

 

  这篇文件是以你对 Java7 里提供的新的 Path 类很熟悉为前提,如果你不熟悉这个

 

类,这里就简单说一句, Path 

 

是文件系统里对位置的一个逻辑概念,例如 c:\ 和 

../foobar.txt 都是 Path。
  创建和删除文件

 

  下面的代码片段向你展示的是用 Files.createFile (Path target) 方法创建文件的基
本用法。
  
Path   target   =   Paths.get   ("D:\\Backup\\MyStuff.txt");     Path   file   = 
Files.createFile (target);
 
  很多时候,出于安全的原因,你可能希望在创建的文件上设置一下属性,例如:是
否可读/可写/写执行。这些属性依赖于文件系统的种类,你需要使用跟文件系统相应的权
限辅助类来完成这种操作。例如,PosixFilePermission 和 PosixFilePermissions 为 
POSIX 

 

文件系统设计的。下面的是在 POSIX 文件系统上的文件设置读写权限的用法。

  
Path   target   =   Paths.get   ("D:\\Backup\\MyStuff.txt");Set   perms   = 
PosixFilePermissions.fromString   ("rw-rw-rw-");FileAttribute>   attr   = 
PosixFilePermissions.asFileAttribute (perms);Files.createFile (target, attr);
 

 

  这个 java.nio.file.attribute 

 

包里提供了很多关于 FilePermission 的类。

 

  警告 当创建一个带有权限属性的文件时,请注意包含这个文件的文件夹是否有权限

 

的强制约束。例如,你会发现,由于这些限制,尽管你给创建的文件指定了 rw-rw-rw 权

 

限,实际创建的结果却是 rw-r–r– 。

 

  删除文件更简单,使用 Files.delete (Path) 这个方法。
  
Path target = Paths.get ("D:\\Backup\\MyStuff.txt");  Files.delete (target);
 
  拷贝和移动文件

 

  下面的代码向你展示的是使用 Files.copy (Path source, Path target) 方法做文件
拷贝的基本用法。