l 是自从JDK出现以来,开发者所寻求的一个广泛的File I/O API系统处理功能要求。 织梦好,好织梦
l 一个socket channel API处理多点播送,与通道一起的socket绑定和相关问题。
本文来自织梦
l 一个异步I/O API可以map到I/O 设备,完成口和各种I/O事件口机制来增强可扩展性。
本文提供第一个内容File I/O API的基本概况。NIO缩写是指允许在Java技术中的I/O操作的新的I/O APIs。java.nio, java.nio.channels和java.nio.charset包自从在Java version 1.4.* 中包含JSR51以来就已经存在。JSR 203在JDK7中增加了NIO.2。
在NIO.2中,file system API被包含在一个新的包java.nio.file中,还带有两个子包。java.nio.file.attribute子包支持批量访问文件属性,而且service provider interface (SPI) 子包java.nio.file.spi,一个文件系统执行的接口,是为希望创建自己的provider执行的高级开发者所设计的。 织梦内容管理系统
Java NIO.2文件修订的需要 copyright dedecms
最初创建的Java I/O File API向开发者提出了挑战。它不是开始就被扩展的。很多方法没有异常就被创建,所以他们没能摒弃I/O 异常,导致开发者非常的受挫败。应用程序经常在文件删除期间失败了,这让开发者感到困惑,为什么产生了没有用的错误信息呢?rename方法从volumes到file systems的行为不一致:一些很容易被重命名,但是另外一些就不是了。获得关于文件的同步元数据的方法效率很低。而且开发者想要更多对元数据的访问,例如文件权限,以及更有效的文件复制支持和文件变更通知。
开发者还要求有能力开发他们自己的文件系统执行,例如,通过在内存中保留一个假系统或是通过将文件变成zip文件。
本文来自织梦
Java NIO.2包会处理这些和其他的需要。
内容来自dedecms
Path类操作 dedecms.com
在java.nio.file中,大多数开发者会用的类就是Path类,java.io.file.Path,它在新的API中相当于在Java version 1.0所创建的java.io.File。path是一个file reference可以放置一个文件,通过使用一个系统依赖的路径。换句话说,它是在文件系统中到一个文件的路径。文件本文并不需要存在。 copyright dedecms
“大多数的开发者可能会使用Path类.” 项目领导Alan Bateman说。“想一想Path类在新的API中相当于java.io.File。java.io.File的互操作性和现存的代码通过使用toPath方法而变得完美,所以现存代码可以被翻新来使用没有改变的新的API。” 织梦内容管理系统
“我们已经增加此方法,如果应用程序删除失败而且开发者又不知道原因,这个新的API可以建立一个到文件对象的路径,开发者就可以调用它的delete方法。新的delete方法抛出一个I/O异常并告诉你为什么文件没有被删除。”
两种类型的操作在java.io.file.Path中运用。第一种,句法类型操作让开发者操作路径,获取父目录,引用路径组件以及迭代路径组件。文件操作的第二种类型是使用路径来放置文件是为了执行一个操作,像是创建文件,为I/O打开一个文件,删除它,创建一个目录等等。
一个路径不是绝对的就是相对的。一个绝对路径可以被用于放置一个没有进一步信息需求的文件。绝对路径总是包含根元素和放置文件所需的完整的目录列表。例如:/home/sally/statusReport是一个绝对路径。放置文件所需的所有信息都被包括在这个路径串中。
dedecms.com
一个非绝对路径或是相对路径必须结合其他的路径信息以便放置一个文件。例如,joe/foo是一个相对路径。由于没有更多的信息,程序不会将joe/foo目录放在文件系统上的。
dedecms.com
“你可以想一想一个路径在它的逻辑中类似一个字符串,即使它没有真的像一个字符串,因为他取决于你所在的,具体操作如何进行工作的操作系统。”Bateman解释到。“假设你有一个路径/home/alanb/foo。如果我调用它的getParen,父目录,我获得/home/alanb。你可以通过使用像getParent方法返回到根路径。 内容来自dedecms









