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

wordpress做自建站网站首页没收录

wordpress做自建站,网站首页没收录,重庆装修工人哪里找,主机屋建网站源码c 遍历文件 递归遍历在学习编程的时候#xff0c;回溯到Turbo Pascal的时代#xff0c;我设法使用FindFirst #xff0c; FindNext和FindClose函数在目录中列出文件。 首先#xff0c;我想出了一个打印给定目录内容的过程。 您可以想象我为能够真正从自身调用该过程以递归遍… c 遍历文件 递归遍历 在学习编程的时候回溯到Turbo Pascal的时代我设法使用FindFirst FindNext和FindClose函数在目录中列出文件。 首先我想出了一个打印给定目录内容的过程。 您可以想象我为能够真正从自身调用该过程以递归遍历文件系统而感到自豪。 好吧那时我还不知道递归一词但是它确实有用。 Java中的类似代码如下所示 public void printFilesRecursively(final File folder) {for (final File entry : listFilesIn(folder)) {if (entry.isDirectory()) {printFilesRecursively(entry);} else {System.out.println(entry.getAbsolutePath());}} }private File[] listFilesIn(File folder) {final File[] files folder.listFiles();return files ! null ? files : new File[]{}; } 不知道File.listFiles()可以返回null 是吗 这就是它发出I / O错误的信号就像IOException不存在一样。 但这不是重点。 System.out.println()很少是我们所需要的因此该方法既不可重用也不可组合。 这可能是“ 打开/关闭”原理的最佳反例。 我可以想象文件系统递归遍历的几个用例 获取所有文件的完整列表以供显示 查找与给定模式/属性匹配的所有文件还要检出File.list(FilenameFilter) 搜索一个特定文件 处理每个文件例如通过网络发送 上面的每个用例都有一系列独特的挑战。 例如我们不想建立所有文件的列表因为在开始处理它之前将花费大量的时间和内存。 我们希望通过流水线计算但没有笨拙的访问者模式来处理文件的发现和延迟。 另外我们也希望使搜索短路以避免不必要的I / O。 幸运的是在Java 8中其中一些问题可以通过流解决 final File home new File(FileUtils.getUserDirectoryPath()); final StreamPath files Files.list(home.toPath()); files.forEach(System.out::println); 请记住 Files.list(Path) Java 8中的新增功能没有研究子目录我们将在以后进行修复。 这里最重要的一课是 Files.list()返回StreamPath –我们可以传递组合映射过滤等的值。它非常灵活例如计算我拥有的文件数非常简单在每个扩展名的目录中 import org.apache.commons.io.FilenameUtils;//...final File home new File(FileUtils.getUserDirectoryPath()); final StreamPath files Files.list(home.toPath()); final MapString, ListPath byExtension files.filter(path - !path.toFile().isDirectory()).collect(groupingBy(path - getExt(path)));byExtension.forEach((extension, matchingFiles) -System.out.println(extension \t matchingFiles.size()));//...private String getExt(Path path) {return FilenameUtils.getExtension(path.toString()).toLowerCase(); } 好吧您可能会说只是另一个API。 但是一旦我们需要更深入 递归地遍历子目录它就会变得非常有趣。 流的一项惊人功能是您可以通过各种方式将它们相互组合。 老Scala说“ flatMap that shit”也适用于此请查看以下递归Java 8代码 //WARNING: doesnt compile, yet:private static StreamPath filesInDir(Path dir) {return Files.list(dir).flatMap(path -path.toFile().isDirectory() ?filesInDir(path) :singletonList(path).stream()); } 由filesInDir()延迟生成的StreamPath包含目录中的所有文件包括子目录。 您可以通过调用map() filter() anyMatch() findFirst()等将其用作任何其他流。但是它实际上如何工作 flatMap()与map()类似但是map()是直接的11转换 flatMap()允许用多个条目替换输入Stream中的单个条目。 如果使用map() 则最终会得到StreamStreamPath 或者可能是StreamListPath 。 但是flatMap()以爆炸内部条目的方式展平了该结构。 让我们看一个简单的例子。 想象一下Files.list()返回了两个文件和一个目录。 对于文件 flatMap()随该文件接收一个元素的流。 我们不能简单地返回该文件而必须对其进行包装但实际上这是无操作的。 对于目录它变得更加有趣。 在这种情况下我们递归地调用filesInDir() 。 结果我们获得了该目录的内容流并将其注入到外部流中。 上面的代码简短甜美并且…无法编译。 这些令人讨厌的异常再次检查。 这是一个固定的代码包装检查过的异常以保持理智 public static StreamPath filesInDir(Path dir) {return listFiles(dir).flatMap(path -path.toFile().isDirectory() ?filesInDir(path) :singletonList(path).stream()); }private static StreamPath listFiles(Path dir) {try {return Files.list(dir);} catch (IOException e) {throw Throwables.propagate(e);} } 不幸的是这种相当优雅的代码还不够懒。 flatMap()急切求值因此即使我们几乎不要求第一个文件它始终会遍历所有子目录。 您可以尝试使用我的小型LazySeq库该库试图提供甚至更lazy-seq抽象类似于Scala中的流或Clojure中的lazy-seq 。 但是即使是标准的JDK 8解决方案也可能确实有用并且可以大大简化您的代码。 翻译自: https://www.javacodegeeks.com/2014/07/turning-recursive-file-system-traversal-into-stream.htmlc 遍历文件 递归遍历
http://www.pierceye.com/news/805773/

相关文章:

  • 一键查询注册过的网站快速排名教程
  • 响应式模板网站泰安招聘信息最新招聘2021
  • 信阳市住房和城乡建设厅网站wordpress加载速度
  • 建设本地网站 配置iis百度h5在线制作免费
  • 网站托管服务器做外贸去哪些网站找老外
  • 一个空间可以做几个网站微信公众号 做不了微网站
  • 嘉兴seo外包公司黄骅seo
  • 做网站录入和查询需求网络推广公司口碑
  • 招远专业做网站公司wordpress获取qq昵称 头像
  • 河北网站建设业务服务称赞的项目管理平台
  • 用jsp做的网站首页如何建立一个网站来卖东西
  • 外贸型网站建设的基本流程宣传型网站建设
  • 济南手机网站开发公司贵阳网络推广公司
  • 网站开发需求模板找网络公司做推广费用
  • 网站推广工具推荐广州公关公司招聘
  • 网站搭建平台源码做健身网站开题报告
  • 大芬网站建设樟树网站开发
  • 北京通州个人网站建设哈尔滨建设工程招投标办公室
  • 怎样开个人网站如何做百度免费推广
  • 深圳成品网站超市佛山网站建设机构
  • 江苏 网站建设第一次做网站做后感
  • wordpress翻译公司网站没事网站建设项目规划书
  • 东莞建设年审网站我的世界充钱网站怎么做
  • 太原网站排名系统电子商务市场营销
  • 社区网站开发进度表2018年做网站还能
  • 论企业网站建设的必要性内网网站搭建设
  • 网站建设怎么翻译如何建立自己的网站
  • 2345网址大全热门seo推广排名稳定
  • 网站建设工作有底薪吗360优化大师
  • 门户网站微信服务号建设大型网站建设优化排名