当前位置: 首页 > news >正文

wordpress移动站点成都发布最新消息

wordpress移动站点,成都发布最新消息,仙游县网站建设,中通服建设有限公司网站在Java 7发行之前#xff0c;列出目录内容的领域并没有发生太多的事情。但是#xff0c;由于NIO.2引入了一种新的方式来做到这一点#xff0c;因此涵盖这一领域可能是值得的。 NIO.2的一大优点是能够在一个方法调用中立即使用列表和过滤。 这为与文件系统相关的大多数列表/筛… 在Java 7发行之前列出目录内容的领域并没有发生太多的事情。但是由于NIO.2引入了一种新的方式来做到这一点因此涵盖这一领域可能是值得的。 NIO.2的一大优点是能够在一个方法调用中立即使用列表和过滤。 这为与文件系统相关的大多数列表/筛选需求提供了一种优雅的解决方案。 列出根目录 除非我们使用相对路径否则我们需要了解应用程序所处的环境因此我们可以定义绝对路径。 由于文件系统通常是分层结构因此至少有一个根目录。 为了正确寻址文件和目录我们需要能够列出所有这些根目录。 为此我们转向FileSystem实例本身使用其方法getRootDirectories 它是Java 6构造File.listRoots()的替代方法。 IterablePath it FileSystems.getDefault().getRootDirectories();System.out.println(Root file system locations: Sets.newHashSet(it)); *请注意 Sets类不是JDK的一部分而是来自Google的Guava库。 我在这里使用它只是为了方便获得根目录的格式正确的字符串表示形式。 具有以下输出 Root file system locations: C:\, D:\, E:\, F:\, G:\, H:\, I:\,列出和过滤目录内容 使用文件系统时标准任务是列出或过滤给定目录中的文件。 我们可能需要修改分析或简单列出它们-无论java.nio.file.Files何种原因类java.nio.file.Files都有我们的支持。 它提供了newDirectoryStream方法的三种变体它们返回DirectoryStreamPath类型的对象以允许我们遍历目录中的条目。 在这里我们看到了防止NullPointerException的IO库的当前版本与先前版本返回简单数组之间的明显差异。 以下示例说明了列出给定目录内容的简单程度 Path directoryPath Paths.get(C:, Program Files/Java/jdk1.7.0_40/src/java/nio/file);if (Files.isDirectory(directoryPath)) {try (DirectoryStreamPath stream Files.newDirectoryStream(directoryPath)) {for (Path path : stream) {System.out.println(path);}} catch (IOException e) {throw new RuntimeException(e);} } 请注意使用isDirectory检查方法可以防止NotDirectoryException 。 还要注意try-with-resources构造的使用– DirectoryStream是AutoCloseable和Closeable 这意味着它需要在某个时间关闭因此try-with-resources派上了用场。 代码返回以下输出 ... C:\Program Files\Java\jdk1.7.0_40\src\java\nio\file\CopyOption.java C:\Program Files\Java\jdk1.7.0_40\src\java\nio\file\DirectoryIteratorException.java C:\Program Files\Java\jdk1.7.0_40\src\java\nio\file\DirectoryNotEmptyException.java C:\Program Files\Java\jdk1.7.0_40\src\java\nio\file\DirectoryStream.java C:\Program Files\Java\jdk1.7.0_40\src\java\nio\file\FileAlreadyExistsException.java C:\Program Files\Java\jdk1.7.0_40\src\java\nio\file\Files.java C:\Program Files\Java\jdk1.7.0_40\src\java\nio\file\FileStore.java C:\Program Files\Java\jdk1.7.0_40\src\java\nio\file\FileSystem.java C:\Program Files\Java\jdk1.7.0_40\src\java\nio\file\FileSystemAlreadyExistsException.java ... 为了确保DirectoryStreamPath通用可用性我们可以使用两种基本机制进行过滤 newDirectoryStream(Path dir, String glob) 使用GLOB过滤 newDirectoryStream (Path dir, DirectoryStream.Filterfilter) 使用DirectoryStream.Filter过滤 使用GLOB模式过滤 首先我们需要知道GLOB是什么。 GLOB模式是遵循特定语法规则的字符串表达式它们用于匹配目的。 请参阅以下文章以获取有关GLOB和GLOB语法的更多信息。 在使用GLOB进行过滤时 Files类为我们提供了一种简便的方法。 让我们看下面的例子。 Path directoryPath Paths.get(C:, Program Files/Java/jdk1.7.0_40/src/java/nio/file);if (Files.isDirectory(directoryPath)) {try (DirectoryStreamPath stream Files.newDirectoryStream(directoryPath, File*Exception*)) {for (Path path : stream) {System.out.println(path);}} catch (IOException e) {throw new RuntimeException(e);} } 具有以下输出 C:\Program Files\Java\jdk1.7.0_40\src\java\nio\file\FileAlreadyExistsException.java C:\Program Files\Java\jdk1.7.0_40\src\java\nio\file\FileSystemAlreadyExistsException.java C:\Program Files\Java\jdk1.7.0_40\src\java\nio\file\FileSystemException.java C:\Program Files\Java\jdk1.7.0_40\src\java\nio\file\FileSystemLoopException.java C:\Program Files\Java\jdk1.7.0_40\src\java\nio\file\FileSystemNotFoundException.java 使用DirectoryStream.Filter进行过滤 当手头的任务需要更复杂的过滤选项而不仅仅是简单的文件名匹配时我们需要实现DirectoryStream.FilterPath接口。 这是我们可以使用的最强大的筛选选项因为我们可以访问应用程序的其余部分并且可能使用第三方库。 下面的示例使用两种过滤条件显示了这种情况 文件大小必须为偶数 执行时间以毫秒为单位必须为偶数 Path directoryPath Paths.get(C:, Program Files/Java/jdk1.7.0_40/src/java/nio/file); DirectoryStream.FilterPath filter new FilterPath() {Overridepublic boolean accept(Path entry) throws IOException {long size Files.readAttributes(entry, BasicFileAttributes.class, LinkOption.NOFOLLOW_LINKS).size();long milis new Date().getTime();boolean isSizeEvenNumber size % 2 0;boolean isTheTimeRight milis % 2 0;return isTheTimeRight isSizeEvenNumber;} };if (Files.isDirectory(directoryPath)) {try (DirectoryStreamPath stream Files.newDirectoryStream(directoryPath, filter)) {for (Path path : stream) {System.out.println(path);}} catch (IOException e) {throw new RuntimeException(e);} } 具有以下输出 C:\Program Files\Java\jdk1.7.0_40\src\java\nio\file\DirectoryStream.java C:\Program Files\Java\jdk1.7.0_40\src\java\nio\file\FileAlreadyExistsException.java C:\Program Files\Java\jdk1.7.0_40\src\java\nio\file\Files.java C:\Program Files\Java\jdk1.7.0_40\src\java\nio\file\NotDirectoryException.java C:\Program Files\Java\jdk1.7.0_40\src\java\nio\file\NotLinkException.java C:\Program Files\Java\jdk1.7.0_40\src\java\nio\file\package-info.java C:\Program Files\Java\jdk1.7.0_40\src\java\nio\file\WatchEvent.java C:\Program Files\Java\jdk1.7.0_40\src\java\nio\file\WatchService.java *请注意根据使用条件每次执行过滤后的文件可能会有所不同。 翻译自: https://www.javacodegeeks.com/2014/06/listing-and-filtering-directory-contents-in-nio-2.html
http://www.zqtcl.cn/news/421757/

相关文章:

  • 惠州做网站的公司有哪些wordpress主动推送
  • jsp做的网站带数据库新手网站设计定价
  • 做网站公司需要什么条件不锈钢公司网站源码 网站建设 产品3级分类asp源码
  • 经营网站挣钱网络运维工程师证书怎么考
  • 厦门网站建设ui株洲企业网站制作
  • 创建个网站需要多少钱张家界seo优化方案
  • 深圳营销型网站建设公司哪家好熊岳网站怎么做
  • 邢台企业网站建设好么找公司做网站要注意什么问题
  • 做博客网站要怎么配置的服烟台app开发公司
  • 从化网站建设方案怎么注册公司名字
  • 网站建设需要哪些书籍免费做游戏网站
  • 杭州 网站定制做旅游网站宣传
  • 泉州市做网站优化建设地情网站的作用
  • 筑巢网络官方网站打开搜索引擎
  • 赣州做网站公司哪家好网站先做前端还是后台
  • wordpress关闭网站吗用织梦做的学校网站
  • 响应式网站建设平台东莞网站建设aj
  • 代码做网站的软件市场营销策划书
  • 东莞网站建设 手机壳文登建设局网站
  • 网站建设和后台空间管理关系企业网络需求分析
  • 做小说网站做国外域名还是国内的好温州市网站建设
  • wordpress识别手机跳转网站3d视频动画制作
  • 展示型企业网站设计方案邯郸市口碑网络技术有限公司
  • 网站配色案例泰州seo平台
  • wordpress标题title优化代码seo技术顾问
  • 怎么做直播网站的超管延安免费做网站
  • 织梦做手机网站hao123从网上开始
  • 网站制作公司十强重庆网站建设mlfart
  • 南京调查公司网站杭州一起做网站
  • 不关站备案wordpress内网网站模板