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 (监听文件更改)
分享到:
相关推荐
4. **JDK7新特性<四> NIO2.0 文件系统** NIO2(非阻塞I/O的第二版)带来了全新的文件系统接口,包括Path API、WatchService API等,提供了异步文件操作和文件事件监听的能力,极大地提升了文件操作的灵活性和性能。...
学习和理解JDK7的NIO2.0对于提升Java应用的性能和可扩展性至关重要,尤其是在处理大量I/O操作的场景下,如文件服务器、日志系统或者大型数据处理应用。同时,NIO2.0的异步特性也为编写高并发、非阻塞的代码提供了...
Java Development Kit (JDK) 6是Java编程语言的一个重要版本,它引入了许多新特性,极大地提升了开发效率和应用程序性能。以下将详细阐述JDK6的一些核心新特性: 1. **改进的编译器(Project Coin)** JDK 6中的...
在文件系统操作方面,JDK 1.7引入了NIO.2(New IO 2.0),提供了更好的异步I/O支持和更高级的文件操作,如文件通道、路径API和文件属性查询等。这些新特性极大地提高了开发者处理文件系统的灵活性和效率。 在安全性...
在文件I/O方面,NIO.2(New IO 2.0)提供了更高级别的文件系统操作,如路径操作、文件属性查询、异步I/O等,为开发者提供了更多便利。 此外,类型推断的增强使得局部变量类型声明更简洁,如`var list = new ...
在文件系统API上,Java7引入了NIO.2(New IO 2.0),提供了更为强大和灵活的文件操作接口,如Path、Files和Paths类,支持异步I/O操作,使得文件操作更为高效。 在并发编程领域,JDK7引入了Fork/Join框架,这是一种...
- **文件系统API增强** - 新的java.nio.file包提供了更强大的文件操作功能,包括文件路径操作、文件属性访问以及异步I/O。 4. **改进的JDBC** - **JDBC 4.0** - 提供了自动注册驱动、改进的异常处理机制和更强大...
5. **文件系统API**:NIO.2(New I/O 2.0)引入了一套新的文件系统API,提供了更加灵活和强大的文件操作功能。 二、JDK7的运行环境 JDK7包含了Java虚拟机(JVM)和Java系统类库,这两部分构成了Java程序运行的基础...
1. **语言特性:**JDK7引入了一些新的语言特性,如**自动资源管理**(try-with-resources)、**多线程并发工具**的增强、**钻石操作符**(<>)简化泛型实例化、**字符串内联**优化、**类型推断**增强等。这些新特性极...
3. **类型推断**:Java 7的泛型引入了钻石操作符<>,在创建匿名类实例时可以简化类型参数的指定。 4. **文件API增强**:NIO.2(New I/O 2.0)提供了更强大的文件操作能力,如Path类、Files类和文件属性查询等。 5. *...
此外,Java 7引入了File API的重大改进,尤其是NIO.2(New I/O 2.0),提供了一套全新的文件系统操作API,支持异步I/O,以及更好的路径和文件属性处理。例如,`Files` 类提供了大量实用方法,如创建、删除、移动文件...
7. **NIO.2** - JDK 1.6引入了新的非阻塞I/O API,也称为NIO.2或Java New I/O 2,提供了异步I/O操作,这在处理大量并发连接时非常有效。 8. **改进的国际化和本地化** - 支持更多的字符集和语言,以及对Unicode 5.1...
Java NIO(New I/O)在1.6版本中引入了NIO.2,提供了更高级别的文件系统操作API,如异步I/O、文件通道、文件属性和文件遍历等,增强了Java对非阻塞I/O的支持。 5. **Scripting API**: JSR 223引入了脚本引擎接口...
1. **NIO.2(New I/O 2.0)**:JDK7引入了NIO.2,提供了一组新的文件I/O API,支持异步I/O操作,增强了文件路径处理,以及文件属性查询等功能。 2. **Path接口**:替代了旧的File类,提供了一种更抽象的方式来表示...
3. **更好的文件I/O API**:NIO.2(New IO 2.0)是Java 7中的一个重要改进,提供了异步文件操作和文件路径API,使得处理文件系统操作更加简单和高效。 4. **钻石操作符**:在创建泛型实例时,可以省略尖括号中的...
新的非阻塞I/O API,也被称为NIO 2或New I/O 2,提供了对文件系统操作的异步支持,如异步读写、文件观察者等。`java.nio.file`包下的类和接口提供了更丰富的文件操作功能,比如文件通道、文件属性和路径操作。 4. ...
6. **文件系统API**:NIO.2(New IO 2.0)提供了一组新的文件系统操作接口,包括`Files`类和`Path`接口,使得文件操作更加灵活且易于使用。 7. **集合改进**:在Java 7中,集合框架得到了增强,例如`Collections....
2. **文件系统API增强**:NIO.2(New I/O 2.0)提供了一套新的文件系统API,使开发者能够以更加面向对象的方式处理文件操作,包括文件路径、文件属性和异步I/O操作。 3. **try-with-resources**:这个语法糖允许在...
NIO.2引入了新的文件系统API,提供异步I/O操作,使得文件读写更加高效,尤其在服务器处理大量并发I/O请求时。新API还支持文件属性查询、文件锁定等功能。 6. **增强的JDBC** JDK1.6增强了JDBC驱动,提供了更好的...
3. **文件系统API增强**:NIO.2(New I/O 2.0)引入了更现代的文件系统API,提供了异步I/O操作、路径、文件属性以及文件系统查询等功能。 4. **try-with-resources语句**:这一新特性使得资源管理更加方便,自动...