探秘JDK7新特性之NIO2.0文件系统

 

java.io.File 不够完美吧。Jdk7提供了一套新的文件系统,会让你满意的。

先来聊聊java.io.File的七宗罪吧:)

1.很多方法失败时候都没有抛出异常,很难查找原因

2.方法 rename 在不同平台中运行有问题

3.不能真正支持 symbolic links

4.不能读取文件的更详细属性,比如权限,所有者……

5.访问 文件的 metadata 效率低下

6.很多方法性能不行。例如处理比较大的目录

7.无法递归查找文件树,以及存在循环的symbolic links可能造成问题

本次jdk7更新了很多新的api。方法太多了,我就不一一列举了,感兴趣的可以去查阅api

http://download.java.net/jdk7/docs/api/java/nio/file/package-summary.html

主要包括:

FileSystem 提供了许多方法来获得当前文件系统的相关信息。

Path 处理路径(文件和目录),包括

创建path,Paths.get(String s)

获得path的详细信息 getName(),getXX()…

删除path的冗余信息 toRealPath

转换path toAbsolutePath()

合并两个path resolve()

在两个path之间创建相对路径 relativeze()

比较路径 equal() startsWith(),endWith()

Files 支持各种文件操作,包括

移动文件,

复制文件,

删除文件,

更详细的文件属性,包括文件权限,创建者,修改时间……

Walking the File Tree(递归遍历文件树)

Watch a Directory for Change (监听文件更改)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值