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

建设部网站上查不到资质的企业学seo

建设部网站上查不到资质的企业,学seo,网站建设的分工内容,电脑网本文是Java IO总结系列篇的第4篇#xff0c;前篇的访问地址如下#xff1a;如果您阅读完成#xff0c;觉得此文对您有帮助#xff0c;请给我点个赞#xff0c;您的支持是我不竭的创作动力。为了方便大家理解#xff0c;我特意制作了本文对应的视频#xff1a;总结删除文…本文是Java IO总结系列篇的第4篇前篇的访问地址如下如果您阅读完成觉得此文对您有帮助请给我点个赞您的支持是我不竭的创作动力。为了方便大家理解我特意制作了本文对应的视频总结删除文件或者文件夹的7种方法一、删除文件或文件夹的四种基础方法下面的四个方法都可以删除文件或文件夹它们的共同点是当文件夹中包含子文件的时候都会删除失败也就是说这四个方法只能删除空文件夹。需要注意的是传统IO中的File类和NIO中的Path类既可以代表文件也可以代表文件夹。File类的delete()File类的deleteOnExit()Files.delete(Path path)Files.deleteIfExists(Path path);它们之间的差异由上面的对比可以看出传统IO方法删除文件或文件夹再删除失败的时候最多返回一个false。通过这个false无法发掘删除失败的具体原因是因为文件本身不存在删除失败还是文件夹不为空导致的删除失败NIO 的方法在这一点上就做的比较好删除成功或失败都有具体的返回值或者异常信息这样有利于我们在删除文件或文件夹的时候更好的做程序的异常处理需要注意的是传统IO中的deleteOnExit方法笔者觉得应该避免使用它。它永远只返回void删除失败也不会有任何的Exception抛出所以我建议不要用以免在你删除失败的时候没有任何的响应而你可能误以为删除成功了。//false只能告诉你失败了 但是没有给出任何失败的原因Testvoid testDeleteFileDir1() {File file new File(D:\\data\\test);boolean deleted file.delete();System.out.println(deleted);}//void ,删除失败没有任何提示应避免使用这个方法就是个坑Testvoid testDeleteFileDir2() {File file new File(D:\\data\\test1);file.deleteOnExit();}//如果文件不存在抛出NoSuchFileException//如果文件夹里面包含文件抛出DirectoryNotEmptyExceptionTestvoid testDeleteFileDir3() throws IOException {Path path Paths.get(D:\\data\\test1);Files.delete(path); //返回值void}//如果文件不存在返回false表示删除失败(文件不存在)//如果文件夹里面包含文件抛出DirectoryNotEmptyExceptionTestvoid testDeleteFileDir4() throws IOException {Path path Paths.get(D:\\data\\test1);boolean result Files.deleteIfExists(path);System.out.println(result);}归根结底建议大家使用java NIO的Files.delete(Path path)和Files.deleteIfExists(Path path);进行文件或文件夹的删除。二、如何删除整个目录或者目录中的部分文件上文已经说了那四个API删除文件夹的时候如果文件夹包含子文件就会删除失败。那么如果我们确实想删除整个文件夹该怎么办前提准备为了方便我们后面进行试验先去创建这样一个目录结构“.log”结尾的是数据文件其他的是文件夹可以使用代面的代码进行创建private void createMoreFiles() throws IOException {Files.createDirectories(Paths.get(D:\\data\\test1\\test2\\test3\\test4\\test5\\));Files.write(Paths.get(D:\\data\\test1\\test2\\test2.log), hello.getBytes());Files.write(Paths.get(D:\\data\\test1\\test2\\test3\\test3.log), hello.getBytes());}2.1. walkFileTree与FileVisitor使用walkFileTree方法遍历整个文件目录树使用FileVisitor处理遍历出来的每一项文件或文件夹FileVisitor的visitFile方法用来处理遍历结果中的“文件”所以我们可以在这个方法里面删除文件FileVisitor的postVisitDirectory方法注意方法中的“post”表示“后去做……”的意思所以用来文件都处理完成之后再去处理文件夹所以使用这个方法删除文件夹就可以有效避免文件夹内容不为空的异常因为在去删除文件夹之前该文件夹里面的文件已经被删除了。Testvoid testDeleteFileDir5() throws IOException {createMoreFiles();Path path Paths.get(D:\\data\\test1\\test2);Files.walkFileTree(path,new SimpleFileVisitor() {// 先去遍历删除文件Overridepublic FileVisitResult visitFile(Path file,BasicFileAttributes attrs) throws IOException {Files.delete(file);System.out.printf(文件被删除 : %s%n, file);return FileVisitResult.CONTINUE;}// 再去遍历删除目录Overridepublic FileVisitResult postVisitDirectory(Path dir,IOException exc) throws IOException {Files.delete(dir);System.out.printf(文件夹被删除: %s%n, dir);return FileVisitResult.CONTINUE;}});}下面的输出体现了文件的删除顺序文件被删除 : D:\data\test1\test2\test2.log文件被删除 : D:\data\test1\test2\test3\test3.log文件夹被删除 : D:\data\test1\test2\test3\test4\test5文件夹被删除 : D:\data\test1\test2\test3\test4文件夹被删除 : D:\data\test1\test2\test3文件夹被删除 : D:\data\test1\test2我们既然可以遍历出文件夹或者文件我们就可以在处理的过程中进行过滤。比如按文件名删除文件或文件夹参数Path里面含有文件或文件夹名称按文件创建时间、修改时间、文件大小等信息去删除文件参数BasicFileAttributes 里面包含了这些文件信息。2.2.Files.walk如果你对Stream流语法不太熟悉的话这种方法稍微难理解一点但是说实话也非常简单。使用Files.walk遍历文件夹(包含子文件夹及子其文件)遍历结果是一个Stream对每一个遍历出来的结果进行处理调用Files.delete就可以了。Testvoid testDeleteFileDir6() throws IOException {createMoreFiles();Path path Paths.get(D:\\data\\test1\\test2);try (Stream walk Files.walk(path)) {walk.sorted(Comparator.reverseOrder()).forEach(DeleteFileDir::deleteDirectoryStream);}}private static void deleteDirectoryStream(Path path) {try {Files.delete(path);System.out.printf(删除文件成功%s%n,path.toString());} catch (IOException e) {System.err.printf(无法删除的路径 %s%n%s, path, e);}}问题怎么能做到先去删除文件再去删除文件夹 。 利用的是字符串的排序规则从字符串排序规则上讲“D:\data\test1\test2”一定排在“D:\data\test1\test2\test2.log”的前面。所以我们使用“sorted(Comparator.reverseOrder())”把Stream顺序颠倒一下就达到了先删除文件再删除文件夹的目的。下面的输出是最终执行结果的删除顺序。删除文件成功D:\data\test1\test2\test3\test4\test5删除文件成功D:\data\test1\test2\test3\test4删除文件成功D:\data\test1\test2\test3\test3.log删除文件成功D:\data\test1\test2\test3删除文件成功D:\data\test1\test2\test2.log删除文件成功D:\data\test1\test22.3.传统IO-递归遍历删除文件夹传统的通过递归去删除文件或文件夹的方法就比较经典了//传统IO递归删除Testvoid testDeleteFileDir7() throws IOException {createMoreFiles();File file new File(D:\\data\\test1\\test2);deleteDirectoryLegacyIO(file);}private void deleteDirectoryLegacyIO(File file) {File[] list file.listFiles(); //无法做到list多层文件夹数据if (list ! null) {for (File temp : list) { //先去递归删除子文件夹及子文件deleteDirectoryLegacyIO(temp); //注意这里是递归调用}}if (file.delete()) { //再删除自己本身的文件夹System.out.printf(删除成功 : %s%n, file);} else {System.err.printf(删除失败 : %s%n, file);}}需要注意的是listFiles()方法只能列出文件夹下面的一层文件或文件夹不能列出子文件夹及其子文件。先去递归删除子文件夹再去删除文件夹自己本身欢迎关注我的博客里面有很多精品合集本文转载注明出处(必须带连接不能只转文字)字母哥博客。觉得对您有帮助的话帮我点赞、分享您的支持是我不竭的创作动力 。另外笔者最近一段时间输出了如下的精品内容期待您的关注。
http://www.zqtcl.cn/news/551860/

相关文章:

  • 河南建设网站公司简介做新闻类网站需要什么资质
  • 网络文化经营许可证图片下载优化大师安装桌面
  • 网站cms系统教育网站开发文档
  • 用网站做淘客怎么做网站建设在电访销售话术
  • 做电影网站赚了几百万动画制作流程
  • 怎么做企业的网站首页wordpress 主机迁移
  • 网站常见问题网页设计代码开头
  • 聊城网站推广品牌推广计划描述
  • 池州网站制作优化有没有专业做特产的网站
  • wordpress采集站源码wordpress好用的会员插件
  • 寿县城乡建设局网站青岛网站建设大全
  • 杭州做网站的好公司哪家好做影视网站侵权吗
  • 自助建站网站seo公司想学编程做网站
  • 网站空间备案要多久花木公司网站源码
  • 高端求职网站排名ftontpage如何做网站
  • 音乐网站开发技术河南省住房和城乡建设门户网站
  • 吉安微信网站弋阳县建设工程网站
  • 网站建设自学建站视频教程哈尔滨全国网站建设
  • 网站建设基础培训网站架构拓扑图
  • 网站开发价格预算成都必去的地方排行榜
  • 鹤岗做网站企业建立网站主要包括那些流程
  • 如何进网站出口外贸是做什么的
  • 网站制作北京网站建设公司哪家好一个人 建设网站
  • 百度网站是什么阿里云免费网站建设
  • 网站建设平台源码攻击网站步骤
  • 注册了网站之后怎么设计深圳开发app
  • 国外网站搭建平台移动互联网公司
  • 做网络私活的网站网站开发的人
  • 数据分析网站开发四川手机网站设计方案
  • 什么是网络营销的方法莱州网站建设关键字排名优化网络托管微信代运营