- 可以使用FileVisitor方便的遍历文件和目录,在FileVisitor遍历文件和目录的时候,当访问文件和目录时,都会“触发”对应的方法,可以通过重写这些方法,来达到搜索并处理文件的效果。具体的讲解穿插在代码中。
import java.io.IOException; import java.nio.file.*; import java.nio.file.attribute.BasicFileAttributes; public class FileVisitorTest { public static void main(String args[]) throws Exception{ Files.walkFileTree( Paths.get("e:","JavaProject" , "FileOperatins"), new SimpleFileVisitor<Path>(){ // 使用Files.walkFileTree来构造,第一个参数是路径,第二个是FileVisitor public FileVisitResult visitFile(Path file1, BasicFileAttributes attrs) throws IOException{ // 访问到文件的时候,就会“触发”visitFile方法,通过重写visitFile方法,就可以对遍历的文件进行处理 System.out.println("正在访问" + file1 + "文件" ); if (file1.endsWith("FileVisitorTest.java")){ System.out.println("已经找到目标文件"); return FileVisitResult.TERMINATE; // TERMINATE的意思是中止,也就是在找到FileVisitorTest.java之后就停下来不找了 } return FileVisitResult.CONTINUE; // CONTINUE表示继续遍历文件 } public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException{ // 访问到目录的时候,就会“触发”preVisitDirectory,preVisitDirectory,就可以对遍历的目录进行处理 System.out.println("正在访问" + dir + "路径"); return FileVisitResult.CONTINUE; } }); } }
这是我看李刚编著的《疯狂Java讲义》后总结出来的。
java输入输出(16)使用FileVisitor遍历文件和目录
最新推荐文章于 2022-08-14 22:56:50 发布