1.使用するファイル。WalkFileTree()指定したフォルダとすべての(例えば1Mなど)指定されたサイズよりも大きいファイルを検索します。
パッケージtext_001。 インポートにjava.io.IOException; 輸入java.nio.file.FileSystems。 輸入java.nio.file.FileVisitOption。 輸入java.nio.file.FileVisitResult; 輸入java.nio.file.FileVisitor; 輸入java.nio.file.Files。 輸入java.nio.file.Path; 輸入java.nio.file.PathMatcher; 輸入java.nio.file.Paths。 輸入java.nio.file.attribute.BasicFileAttributes。 輸入java.util.EnumSet; パブリック クラスアクションを実装FileVisitor { 民間 最終PathMatcherマッチャー; 民間 最終 長いaccepted_size。 パブリックアクション(文字列グロブ、長いaccepted_size){ 整合 = FileSystems.getDefault()getPathMatcher( "グロブ:" +。グロブ)。 この .accepted_size = accepted_size。 } ボイド検索(パスファイル)がスローにIOException { 長いサイズ=(長)Files.getAttribute(ファイル、 "基本:サイズ" )。 もし(サイズ== accepted_size){ System.out.printlnは(ファイル)。 } } @Override 公衆FileVisitResult postVisitDirectory(オブジェクトDIRは、IOException EXC)はスローにIOException { リターンFileVisitResult.CONTINUEと、 } @Override 公共 FileVisitResult preVisitDirectory(オブジェクトDIR、BasicFileAttributesのATTRS)はスローのIOException { 戻りFileVisitResult.CONTINUEと、 } @Override 公共 FileVisitResult visitFile(オブジェクトファイル、BasicFileAttributesのATTRS)はスローにIOException { 検索((パス)ファイル)。 返す FileVisitResult.CONTINUEを。 } @Override 公衆FileVisitResult visitFileFailed(オブジェクト・ファイルは、IOException EXC)はスローにIOException { リターンFileVisitResult.CONTINUEと、 } パブリック 静的 ボイドメイン(文字列[]引数)がスローにIOException { 文字列グロブ =「* .JPG」を、 長いサイズ= 1048576; // 1M = 1024K = 1048576字节 パスfileTree = Paths.get( "C:/" ); アクション徒歩 = 新しいアクション(グロブ、サイズ); EnumSetのOPTS = EnumSet.of(FileVisitOption.FOLLOW_LINKS)。 System.out.println( "C盘中大小等于1M的文件有"); Files.walkFileTree(fileTree、OPTSは、Integer.MAX_VALUE、徒歩); } }