趣文网 > 作文大全

Java 7 重新设计file I/O实现 重构原有代码吧!

2020-12-02 04:25:01
相关推荐

为什么要使用Java 7的file I/O实现

在Java 7以前,java.io.File类提供了file I/O实现。但其有很多缺点:

许多方法失败时不会抛出异常,因此也就不可能提供更多有用的信息为客户端提供帮助。比如,一个文件删除失败,客户端不知道是否存在,还是没有权限,还是其他问题导致。重命名不能跨平台保持一致性。对symbolic links没有真正的支持。对元数据没有更多的支持,比如,文件权限,拥有者,其他的安全属性。访问文件系统是低效的。大部分方法不可扩展。在服务器上请求一个大目录列表可能会导致挂起。大目录也可能导致内存资源问题,导致服务拒绝。如果出现symbolic links循环引用,不能写出一个可靠的递归文件树代码,也不能得到合适的响应。Java 7的file I/O API的关键入口

在java.nio.file包中

Path类,代表文件系统的一个文件或一个目录。提供的方法可以用于操作一个抽象的路径。

Paths类,工具类,通过一个路径字符串获取到一个依赖特定系统的Path对象。Files类,提供了具体操作文件或目录的方法。比如,删除,创建,拷贝,获取文件或目录元数据等。

FileSystem类,提供获取文件系统相关的方法。比如,通过一个路径字符串获取到一个依赖特定系统的Path对象;可以获取文件系统的所有的文件存储。FileStore类,一个文件系统有多个文件存储,FileStore代表底层的存储设备,比如设备,分区等。在Unix操作系统中,每一个装载的文件系统都是一个FileStore;而在Windows操作系统中,每一个卷代表一个FileStore,如C:,D:。重构

原来的代码中使用java.io.File类,现在想要利用java.nio.file包中的新功能Path input = file.toPath();

将原有的java.io.File实例转换为java.nio.file.Path实例。然后就可以利用Path和Files来操作文件或目录。

如果你不想使用第一种方法,或并不完全满足需求,那就重写file I/O相关的代码。

阅读剩余内容
网友评论
相关内容
延伸阅读
小编推荐

大家都在看

含羞草作文 柚子 作文 写景作文600 三年级作文200字 我是谁 作文 有趣的事作文 作文 泪 在一起作文 黄山作文 等待 作文 奉献 作文 回家作文 读后感 作文 作文五百字 有那样一抹色彩作文600字 优秀作文800字高中 我为家乡代言作文 阳光 作文 离别 作文 那一次我真的很棒作文600字 书香伴我成长作文600字 什么的滋味作文600字 在路上作文600字初三 以艺术为话题的作文 一件开心的事作文400字 难忘的春节作文400字 风景在路上作文600字 传承中国传统文化作文 推荐一本好书作文500 开学计划作文600字