Java7中对文件进行操作

文章作者 100test 发表时间 2012:03:17 17:42:21
来源 100Test.Com百考试题网


  这篇文件是以你对Java7里提供的新的Path类很熟悉为前提,如果你不熟悉这个类,这里就简单说一句, Path 是文件系统里对位置的一个逻辑概念,例如 c: 和 /foobar.txt 都是Path.

  创建和删除文件

  下面的代码片段向你展示的是用 Files.createFile(Path target) 方法创建文件的基本用法。

  1. Path target = Paths.get("D:\Backup\MyStuff.txt");

  2. Path file = Files.createFile(target);

  很多时候,出于安全的原因,你可能希望在创建的文件上设置一下属性,例如:是否可读/可写/写执行。这些属性依赖于文件系统的种类,你需要使用跟文件系统相应的权限辅助类来完成这种操作。例如,PosixFilePermission和PosixFilePermissions 为 POSIX 文件系统设计的。下面的是在POSIX文件系统上的文件设置读写权限的用法。

  1.Path target = Paths.get("D:\Backup\MyStuff.txt");

  2.Set perms= PosixFilePermissions.fromString("rw-rw-rw-");

  3. FileAttribute  4. Files.createFile(target, attr);

  这个 java.nio.file.attribute 包里提供了很多关于 FilePermission 的类。

  警告 当创建一个带有权限属性的文件时,请注意包含这个文件的文件夹是否有权限的强制约束。例如,你会发现,由于这些限制,尽管你给创建的文件指定了 rw-rw-rw 权限,实际创建的结果却是 rw-r–r– .

  删除文件更简单,使用 Files.0delete(Path) 这个方法。

  1.Path target = Paths.get("D:\Backup\MyStuff.txt");

  2. Files.0delete(target);

  拷贝和移动文件

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

  1. Path source = Paths.get("C:\My Documents\Stuff.txt");

  2. Path target = Paths.get("D:\Backup\MyStuff.txt");

  3. Files.copy(source, target);

  经常的,在拷贝文件的过程中你可能希望指定一些操作设置。在Java7里,你可以通过使用 StandardCopyOption enum 来设置这些属性。下面看一个例子。

  import static java.nio.file.StandardCopyOption.*.Path source = Paths.get("C:\My Documents\Stuff.txt");Path target = Paths.get("D:\Backup\MyStuff.txt");Files.copy(source, target, REPLACE_EXISTING);

  拷贝操作时可以使用的属性还包括COPY_ATTRIBUTES (保留文件属性) 和 ATOMIC_MOVE (确保移动事务操作的成功,否则进行回滚)。

  移动文件的操作跟拷贝很相似,使用 Files.move(Path source, Path target) 方法。

  同样,你也可以指定移动操作的属性,使用 Files.move(Path source, Path target, CopyOptions…) 方法里的参数来设置。

  1. import static java.nio.file.StandardCopyOption.*.

  2. Path source = Paths.get("C:\My Documents\Stuff.txt");

  3.Path target = Paths.get("D:\Backup\MyStuff.txt");

  4. Files.move(source, target, REPLACE_EXISTING, COPY_ATTRIBUTES);

  可以看出,新的用于文件操作的 NIO.2 API 非常便于使用。

  百考试题温馨提示:本内容来源于网络,仅代表作者个人观点,与本站立场无关,仅供您学习交流使用。其中可能有部分文章经过多次转载而造成文章内容缺失、错误或文章作者不详等问题,请您谅解。如有侵犯您的权利,请联系我们,本站会立即予以处理。

  编辑特别推荐:

  #0000ff>Java读取文件内容再编辑

  #0000ff>JS获取单选与多选按纽的值

  #0000ff>每一种文件类型所对应的ContentType



相关文章


JVM基础概念总结:数据类型、堆与栈
Java连接DB2数据库开发应用的编程步骤
java构造函数调用
Java中Uuid的实现
Java7中对文件进行操作
多核平台下的Java优化
解决java中文乱码
并发编程的Java抽象
Java枚举常见7种用法
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛