怎么在java项目中利用FileVisitor遍历文件或目录

怎么在java项目中利用FileVisitor遍历文件或目录?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

FileVisitResult主要包含四个常见的操作。

1、FileVisitResult.CONTINUE 继续遍历2、FileVisitResult.TERMINATE 中止访问3、FileVisitResult.SKIP_SIBLINGS 不访问同级的文件或目录4、FileVisitResult.SKIP_SUBTREE 不访问子目录

通过创建SimpleFileVisitor对象来对文件进行遍历即可,它是FileVisitor的实现类,这样可以有选择的重写指定的方法

下面的程序是使用FileVisitor对目录进行遍历,该程序还简单实现了在指定的目录下查找文件。

packagecom.sdjz.test1;

importjava.io.IOException;
importjava.nio.file.FileVisitResult;
importjava.nio.file.Files;
importjava.nio.file.Path;
importjava.nio.file.Paths;
importjava.nio.file.SimpleFileVisitor;
importjava.nio.file.attribute.BasicFileAttributes;
importjava.util.List;

publicclassFileVisitorTest{

publicstaticvoidmain(String[]args)throwsIOException{
//使用FileVisitor对目录进行遍历
Files.walkFileTree(Paths.get("d:","workspace"),newSimpleFileVisitor<Path>(){

//在访问子目录前触发该方法
@Override
publicFileVisitResultpreVisitDirectory(Pathdir,BasicFileAttributesattrs)throwsIOException{
System.out.println("正在访问"+dir+"目录");
returnFileVisitResult.CONTINUE;
}

//在访问文件时触发该方法
@Override
publicFileVisitResultvisitFile(Pathfile,BasicFileAttributesattrs)throwsIOException{
System.out.println("正在访问"+file+"文件");
if(file.endsWith("FilesTest.java")){
System.out.println("------已找到FilesTest.java,文件内容-----");
List<String>list=Files.readAllLines(file);
//打印出文件的内容
System.out.println(list);
returnFileVisitResult.TERMINATE;
}
returnFileVisitResult.CONTINUE;
}

//在访问失败时触发该方法
@Override
publicFileVisitResultvisitFileFailed(Pathfile,IOExceptionexc)throwsIOException{
//写一些具体的业务逻辑
returnsuper.visitFileFailed(file,exc);
}

//在访问目录之后触发该方法
@Override
publicFileVisitResultpostVisitDirectory(Pathdir,IOExceptionexc)throwsIOException{
//写一些具体的业务逻辑
returnsuper.postVisitDirectory(dir,exc);
}
});
}
}

下面的程序运行的效果

怎么在java项目中利用FileVisitor遍历文件或目录

关于怎么在java项目中利用FileVisitor遍历文件或目录问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注恰卡编程网行业资讯频道了解更多相关知识。

发布于 2021-03-24 01:23:10
收藏
分享
海报
0 条评论
165
上一篇:怎么在python中利用celery异步执行任务 下一篇:怎么在JavaScript中利用POST方式发送请求
目录

    推荐阅读

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码