文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Java 7中怎么对文件进行操作

2023-06-17 11:49

关注

这篇文章将为大家详细讲解有关Java 7中怎么对文件进行操作,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

创建和删除文件

下面的代码片段向你展示的是用 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<PosixFilePermission> perms= PosixFilePermissions.fromString("rw-rw-rw-");  FileAttribute<Set<PosixFilePermission>> attr= PosixFilePermissions.asFileAttribute(perms);  Files.createFile(target, attr);

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

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

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

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

拷贝和移动文件

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

Path source = Paths.get("C:\My Documents\Stuff.txt");  Path target = Paths.get("D:\Backup\MyStuff.txt");  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...) 方法里的参数来设置。

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

关于Java 7中怎么对文件进行操作就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯