宝山做网站价格,关键词广告,外贸网站解决方案,网站中的图片展示功能该设计什么Java 7#xff08;“项目代币”#xff09;已于去年7月问世。 此版本中的新增功能很有用#xff0c;例如#xff0c;尝试使用资源–从try块自动处理可关闭的资源#xff0c;switch语句中的字符串#xff0c;用于异常的multicatch以及用于使用泛型的运算符。 每个… Java 7“项目代币”已于去年7月问世。 此版本中的新增功能很有用例如尝试使用资源–从try块自动处理可关闭的资源switch语句中的字符串用于异常的multicatch以及用于使用泛型的运算符。 每个人最期待的附加功能即闭包已推迟到版本8。但是令人惊讶的是Java 7的发布带来了一些小的“革命”在我看来这在很大程度上没有引起注意可能是Java 7发行版中最好的部分。 我要指的更改是添加了java.nio.file软件包。 java.nio.file软件包添加了类和接口使使用Java中的文件和目录更加容易。 这些更改的首要也是最重要的一点就是复制或移动文件的能力。 我总是感到很沮丧如果您要复制或移动文件则必须滚动自己的“复制”或“移动”版本。 Guava项目com.google.common.io软件包中提供的实用程序提供了这些功能但我认为复制和移动操作应是该语言的核心部分。 在接下来的几篇文章中我将对此处讨论的类/接口以及一些其他未涵盖的类/接口进行更详细的介绍包括代码示例。 这篇文章是java.nio.file软件包中新功能的介绍和概述。 突围责任 如果您看一下目前的java.io软件包那么绝大多数类都是针对输入流输出流读取器或写入器的。 只有一个类定义用于直接使用文件系统的操作即File类。 java.io中的某些其他类将File对象作为构造函数中的参数但是所有文件和目录的交互都是通过File类进行的。 在java.nio.file包中功能已被引入其他类/接口。 首先要讨论的是Path接口和Files类。 路径和文件 Path对象类似于java.io.File对象因为它可以表示文件系统上的文件或目录。 但是Path对象更为抽象因为它是代表文件系统上目录层次结构可能包含或不包含文件的一系列名称。 “路径”界面中没有允许使用目录或文件的方法。 定义的方法仅用于处理或操作Path对象将一个Path解析为另一路径等等。有一种方法可用于从Path toFile中获取java.io.File对象。 File类现在包含一个toPath方法。为了处理文件和目录Path对象与Files类一起使用。 Files类完全由用于处理目录和文件的静态方法组成包括复制移动和用于符号链接的函数。 Files类中的另一个有趣的方法是newDirectoryStream方法该方法返回一个DirectoryStream对象该对象可以遍历目录中的所有条目。 尽管java.io.File类具有在其中提供FileFilter实例的list方法但是newDirectoryStream可以使用字符串“ glob”例如“ * .txt”进行过滤。 文件存储 如前所述与java.io包中的文件系统的所有交互都是通过File类。 这包括获取有关文件系统中已用或可用空间的信息。 在java.nio.file中有一个FileStore类它表示文件的存储类型无论是设备分区还是concreate文件系统。 FileStore类定义用于获取有关文件存储信息的方法例如getTotalSpacegetUsableSpacegetUnallocated空间。 可以通过调用Files.getFileStorePath path方法来获取FileStore该方法将返回该特定文件的FileStore。 文件系统和文件系统 顾名思义文件系统提供对文件系统的访问并且是文件系统中其他对象的工厂。 例如FileSystem类定义一个getPath方法该方法将字符串/ foo / bar转换为依赖于系统的Path对象该对象可用于访问文件或目录。 FileSystem类还提供了一个getFileStores方法该方法返回FileSystem中所有FileStore的可迭代方法。 FileSystems类使用静态FactorySystems.getDefault方法提供对FileSystem对象的访问。 还有一些用于创建自定义FileSystem对象的静态方法。 结论 这是使用java.nio.file软件包提供的文件的新功能的快速高级视图。 有更多的信息尚未在此处讨论因此请看一下api文档。希望这篇文章能够使读者对Java 7中改进的文件处理感兴趣。请确保在我们继续探索时坚持学习。更详细的说明java.nio.file软件包必须提供的内容。 参考 Java 7的新增功能–我们的JCG合作伙伴 Bill Bejeck在“ 随机编码思想”博客上发表的安静的NIO文件革命 翻译自: https://www.javacodegeeks.com/2012/01/java-7-nio-file-revolution.html