您的位置  首页 >> 学习园地 >> JAVA技术 >> 正文
java7中更多NIO APIs
[来源:本站 | 日期:2011年5月9日 | 浏览1038 次] 字体:[ ]

JSR 203:NIO 2扩展和实现了在Java 1.4中加入的最初NIO功能。在NIO 2中最明显的新增功能就是文件访问API的全面改进。多数开发者都用过java.io.File,对其存在的众多缺陷自然心中有数:


        ◆不支持符号链接(symbolic links )


        ◆不支持简单移动和拷贝操作


        ◆目录漫游和过滤API非常复杂


        ◆对文件属性和访问权限的支持非常有限


        ◆没有查看目录或文件的API


       ◆有限的错误处理功能


        幸运的是,JSR 203不仅改进了以上所有缺点,而且实现了更多功能。这个API从一开始就设计为具备可扩展性,除了支持默认文件系统外,还支持嵌入式文件系统,还具有诸多灵活选项设置,可以实现诸如打开和拷贝文件、系统属性定义等操作。


        Listing 2演示了JSR 203是如何被用来实现一些通用操作。Path是这个API的核心;你可以把它看作新建文件。
        Listing 2


import java.nio.file.*;

// FileSystems -> FileSystem -> Path
FileSystem fileSystem = FileSystems.getDefault();
Path homeDir = fileSystem.getPath("/Users/lskywalker");

// Shortcut with Paths helper class
Path homeDir = Paths.get("/Users/lskywalker");
Path secrets = homeDir.resolve("secrets.txt");
   
// Steal secrets
secrets.moveTo(Paths.get("/Users/dvader/secrets.txt"));

        除了文件系统API外,JSR 203还实现了许多在第一版NIO中提出的API,提供了对组播的更多支持,提供了在Socket和文件上进行异步I/O操作的API。

JSR 203:NIO 2扩展和实现了在Java 1.4中加入的最初NIO功能。在NIO 2中最明显的新增功能就是文件访问API的全面改进。多数开发者都用过java.io.File,对其存在的众多缺陷自然心中有数:


        ◆不支持符号链接(symbolic links )


        ◆不支持简单移动和拷贝操作


        ◆目录漫游和过滤API非常复杂


        ◆对文件属性和访问权限的支持非常有限


        ◆没有查看目录或文件的API


       ◆有限的错误处理功能


        幸运的是,JSR 203不仅改进了以上所有缺点,而且实现了更多功能。这个API从一开始就设计为具备可扩展性,除了支持默认文件系统外,还支持嵌入式文件系统,还具有诸多灵活选项设置,可以实现诸如打开和拷贝文件、系统属性定义等操作。


        Listing 2演示了JSR 203是如何被用来实现一些通用操作。Path是这个API的核心;你可以把它看作新建文件。
        Listing 2


import java.nio.file.*;

// FileSystems -> FileSystem -> Path
FileSystem fileSystem = FileSystems.getDefault();
Path homeDir = fileSystem.getPath("/Users/lskywalker");

// Shortcut with Paths helper class
Path homeDir = Paths.get("/Users/lskywalker");
Path secrets = homeDir.resolve("secrets.txt");
   
// Steal secrets
secrets.moveTo(Paths.get("/Users/dvader/secrets.txt"));

        除了文件系统API外,JSR 203还实现了许多在第一版NIO中提出的API,提供了对组播的更多支持,提供了在Socket和文件上进行异步I/O操作的API。

JSR 203:NIO 2扩展和实现了在Java 1.4中加入的最初NIO功能。在NIO 2中最明显的新增功能就是文件访问API的全面改进。多数开发者都用过java.io.File,对其存在的众多缺陷自然心中有数:


        ◆不支持符号链接(symbolic links )


        ◆不支持简单移动和拷贝操作


        ◆目录漫游和过滤API非常复杂


        ◆对文件属性和访问权限的支持非常有限


        ◆没有查看目录或文件的API


       ◆有限的错误处理功能


        幸运的是,JSR 203不仅改进了以上所有缺点,而且实现了更多功能。这个API从一开始就设计为具备可扩展性,除了支持默认文件系统外,还支持嵌入式文件系统,还具有诸多灵活选项设置,可以实现诸如打开和拷贝文件、系统属性定义等操作。


        Listing 2演示了JSR 203是如何被用来实现一些通用操作。Path是这个API的核心;你可以把它看作新建文件。
        Listing 2


import java.nio.file.*;

// FileSystems -> FileSystem -> Path
FileSystem fileSystem = FileSystems.getDefault();
Path homeDir = fileSystem.getPath("/Users/lskywalker");

// Shortcut with Paths helper class
Path homeDir = Paths.get("/Users/lskywalker");
Path secrets = homeDir.resolve("secrets.txt");
   
// Steal secrets
secrets.moveTo(Paths.get("/Users/dvader/secrets.txt"));

        除了文件系统API外,JSR 203还实现了许多在第一版NIO中提出的API,提供了对组播的更多支持,提供了在Socket和文件上进行异步I/O操作的API。


责任编辑:admin
上一篇:没有了!
下一篇:java7中Jigsaw项目和‘module’关键字