我不太了解它们之间的区别,因此我对这两个软件包有一些疑问。
在Google上浏览了一下之后,似乎Oracle决定使用JDK7版本NIO的更新和增强NIO.2软件包来更新该软件包。
NIO
NIO.2
这并不是我想在代码中使用旧版包,我对此真的很好奇。请告诉我他们的区别?
Java最初是通过File在java.io程序包中提供类来访问文件系统而开始的。该对象表示文件/目录,并且确实允许您执行一些操作,例如检查文件/目录是否存在,获取属性并删除它。但是,它有一些缺点。仅举几例:
File
java.io
boolean
false
为了克服这些问题,在Java 4中引入了java.nio包。主要功能是:
在Java 7中,引入了java.nio.file软件包,它为处理符号链接,文件属性访问提供了更好的支持,并特别支持通过诸如Path,Paths和Files之类的扩展文件系统。您可能想看一下java.nio.file程序包描述,以获取有关此内容的更多详细信息。
考虑到这一点:
从NIO到NIO.2有哪些重大变化?(例如新方法,功能)?
它们有不同的用途。要指出重大变化,您可能需要查看全新的软件包java.nio.file。
java.nio.file
为什么必须更新原始的NIO包?
没有。引入了新软件包,而不是对其进行了更新。
如今,NIO.2只是NIO软件包的同义词吗?NIO软件包的性能与NIO.2软件包相比如何?
不,它们不是同义词。比较它们之间的性能也没有多大意义,因为它们有不同的用途。NIO是一种更抽象的底层数据I / O,而NIO2则专注于文件管理。
希望这可以帮助。
[书目:Oracle认证专业Java SE7-全面的OCJP7认证指南,由SGGanesh和Tushar Sharma撰写-第9章]