真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

JDK7新特性之遍歷文件樹的示例分析

這篇文章主要介紹JDK7新特性之遍歷文件樹的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

創(chuàng)新互聯(lián)公司是創(chuàng)新、創(chuàng)意、研發(fā)型一體的綜合型網(wǎng)站建設公司,自成立以來公司不斷探索創(chuàng)新,始終堅持為客戶提供滿意周到的服務,在本地打下了良好的口碑,在過去的十載時間我們累計服務了上千家以及全國政企客戶,如人造霧等企業(yè)單位,完善的項目管理流程,嚴格把控項目進度與質(zhì)量監(jiān)控加上過硬的技術實力獲得客戶的一致贊譽。

有時需要遞歸遍歷一個文件樹,比如查找一個文件夾內(nèi)符合條件的文件,查找某一天創(chuàng)建的文件……。jdk7 nio包提供一個新的接口 FileVisitor。它提供了遍歷文件樹的各種操作。

preVisitDirectory - 一個路徑被訪問時調(diào)用

PostVisitDirectory - 一個路徑的所有節(jié)點被訪問后調(diào)用。如果有錯誤發(fā)生,exception會傳遞給這個方法

visitFile - 文件被訪問時被調(diào)用。該文件的文件屬性被傳遞給這個方法

visitFileFailed - 當文件不能被訪問時,此方法被調(diào)用。Exception被傳遞給這個方法。

如果你比較懶,不想實現(xiàn)所有方法。你可以選擇繼承 SimpleFileVisitor。它幫你實現(xiàn)了上述方法,你只需Override 你感興趣的方法。

下面給個例子,簡單地遍歷一個文件夾,打印出所有信息

Java代碼

import java.io.IOException;     import java.nio.file.FileVisitResult;     import java.nio.file.Files;     import java.nio.file.Path;     import java.nio.file.Paths;     import java.nio.file.SimpleFileVisitor;     import java.nio.file.attribute.BasicFileAttributes;         /**     * @author kencs@foxmail.com     */    public class FileVisitorTest extends SimpleFileVisitor {                  private void find(Path path){             System.out.printf("訪問-%s:%s%n",(Files.isDirectory(path)?"目錄":"文件"),path.getFileName());         }         @Override        public FileVisitResult visitFile(Path file,BasicFileAttributes attrs){             find(file);             return FileVisitResult.CONTINUE;         }                  @Override        public FileVisitResult preVisitDirectory(Path dir,BasicFileAttributes attrs){             find(dir);             return FileVisitResult.CONTINUE;         }                  @Override        public FileVisitResult visitFileFailed(Path file,IOException e){             System.out.println(e);             return FileVisitResult.CONTINUE;         }                  public static void main(String[] args) throws IOException{             if(args.length!=1){                 System.out.println("請輸入一個文件路徑作為參數(shù)");                 System.exit(-1);             }             Files.walkFileTree(Paths.get( args[0]), new FileVisitorTest());         }     }

隨便選擇一個路徑作為參數(shù)

java FileVisitorTest "C:\\Program Files\\Java\\jre7\\bin"

運行結果代碼

訪問-目錄:bin     訪問-文件:awt.dll     訪問-文件:axbridge.dll     訪問-目錄:client     訪問-文件:classes.jsa     訪問-文件:jvm.dll     訪問-文件:Xusage.txt     訪問-文件:dcpr.dll     訪問-文件:deploy.dll     訪問-文件:deployJava1.dll     訪問-文件:dt_shmem.dll     訪問-文件:dt_socket.dll     ......

注意 FileVisitResult有四種

CONTINUE –繼續(xù)

TERMINATE –終止,這次遍歷結束了

SKIP_SUBTREE –子樹(當前路徑的子目錄)不再遍歷了

SKIP_SIBLINGS –兄弟節(jié)點(同級別目錄)不再訪問了。

可以通過這些返回值來控制遍歷文件樹的流程

以上是“JDK7新特性之遍歷文件樹的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


分享名稱:JDK7新特性之遍歷文件樹的示例分析
路徑分享:http://weahome.cn/article/pgedss.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部