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
{
// 遍历g:\publish\codes\15目录下的所有文件和子目录
Files.walkFileTree(Paths.get("e:", "我的光盘", "codes", ""),
new SimpleFileVisitor<Path>()
{
// 访问文件时候触发该方法
@Override
public FileVisitResult visitFile(Path file,
BasicFileAttributes attrs) throws IOException
{
System.out.println("正在访问" + file + "文件");
// 找到了FileInputStreamTest.java文件
if (file.endsWith("FileInputStreamTest.java"))
{
System.out.println("--已经找到目标文件--");
return FileVisitResult.TERMINATE;
}
return FileVisitResult.CONTINUE;
}
// 开始访问目录时触发该方法
@Override
public FileVisitResult preVisitDirectory(Path dir,
BasicFileAttributes attrs) throws IOException
{
System.out.println("正在访问:" + dir + " 路径");
return FileVisitResult.CONTINUE;
}
});
}
}

output:

正在访问:e:\我的光盘\codes\15 路径
正在访问:e:\我的光盘\codes\15\15.1 路径
正在访问e:\我的光盘\codes\15\15.1\1546017388045文件
正在访问e:\我的光盘\codes\15\15.1\FilenameFilterTest.class文件
正在访问e:\我的光盘\codes\15\15.1\FilenameFilterTest.java文件
正在访问e:\我的光盘\codes\15\15.1\FileTest.class文件
正在访问e:\我的光盘\codes\15\15.1\FileTest.java文件
正在访问:e:\我的光盘\codes\15\15.10 路径
正在访问e:\我的光盘\codes\15\15.10\a.txt文件
正在访问e:\我的光盘\codes\15\15.10\AttributeViewTest.class文件
正在访问e:\我的光盘\codes\15\15.10\AttributeViewTest.java文件
正在访问e:\我的光盘\codes\15\15.10\FilesTest.class文件
正在访问e:\我的光盘\codes\15\15.10\FilesTest.java文件
正在访问e:\我的光盘\codes\15\15.10\FileVisitorTest$1.class文件
正在访问e:\我的光盘\codes\15\15.10\FileVisitorTest.class文件
正在访问e:\我的光盘\codes\15\15.10\FileVisitorTest.java文件
正在访问e:\我的光盘\codes\15\15.10\PathTest.class文件
正在访问e:\我的光盘\codes\15\15.10\PathTest.java文件
正在访问e:\我的光盘\codes\15\15.10\pome.txt文件
正在访问e:\我的光盘\codes\15\15.10\WatchServiceTest.class文件
正在访问e:\我的光盘\codes\15\15.10\WatchServiceTest.java文件
正在访问:e:\我的光盘\codes\15\15.3 路径
正在访问e:\我的光盘\codes\15\15.3\FileInputStreamTest.class文件
正在访问e:\我的光盘\codes\15\15.3\FileInputStreamTest.java文件
--已经找到目标文件--

  

learning java FileVisitor 遍丽文件及路径的更多相关文章

  1. Java Web 前端资源文件的路径问题

    WEB-INF是Java Web应用的安全目录,在部署时用于存放class文件.项目用到的库(jar包).Java Web应用的配置文件web.xml. 浏览器不能访问此目录下的资源,比如在WEB-I ...

  2. java getDocumentBase() 得到的文件夹路径

    参考一个百度知道上的回答 举例说来,假设你的项目文件是xx,而这个xx文件夹是在D盘下的yy文件夹里,即项目文件的完整路径D:\yy\xx,则编译运行文件后,在xx文件夹里会产生名为build的文件夹 ...

  3. learning java 使用WatchService监控文件变化

    import java.io.IOException; import java.nio.file.*; public class WatchServiceTest { public static vo ...

  4. java获取当前执行文件的路径

    需要知道执行jar包时,jar包所在的路径. 开始使用了 p.getClass().getResource("/").getPath(); 结果在IDE里面使用是好的,但是在命令行 ...

  5. Java学习-043-获取文件在目录中的路径

    我们在日常的电脑使用中,经常需要在当前目录或当期目录及其子目录中查找文件,并获取相应的文件路径名.在我们的自动化测试中,也经常需要确认文件在目录中是否成功生成或已存在,因而我写了一个小方法来实现. 获 ...

  6. java web项目中 获取resource路径下的文件路径

    public GetResource{ String path = GetResource.class.getClassLoader().getResource("xx/xx.txt&quo ...

  7. spring java 获取webapp下文件路径

    spring java 获取webapp下文件路径 @RequestMapping("/act/worldcup_schedule_time/imgdownload") @Resp ...

  8. Java文件获取路径方式:

    转自:http://blog.csdn.net/appleprince88/article/details/11599805# 谢谢! 由于经常需要获取文件的路径,但是比较容易忘记,每次需要总需要查询 ...

  9. 在java程序当中怎么获取一个文件的路径

    在java程序当中怎么获取一个文件的路径? * 当这个文件在类路径下的时候(在src/bin目录下的时候): String absolutePath = Thread.currentThread(). ...

随机推荐

  1. 全网独发gensim中similarities.Similarity用法

    index = similarities.MatrixSimilarity(lsi[corpus]) # 管网的原文翻译如下: 警告:similarities.MatrixSimilarity类仅仅适 ...

  2. Java自学-数组 创建数组

    Java 如何创建一个数组 数组是一个固定长度的,包含了相同类型数据的 容器 步骤 1 : 声明数组 int[] a; 声明了一个数组变量. []表示该变量是一个数组 int 表示数组里的每一个元素都 ...

  3. 要想获取select的值,使用ng-modle,否则无法获取select 的值

    ng-bind是从$scope -> view的单向绑定 ng-modle是$scope <-> view的双向绑定 <form role="form" c ...

  4. 关于定义变量名为"name"的坑!!!

    昨天下午没有什么工作可做,闲来无事就上博客园看看了,有个问题让我一直很纳闷. 直接上代码吧: 再用表达式创建函数时遇到的问题,这里的代码按照正常逻辑只有那个在变量定义后面的函数执行打印的值才是&quo ...

  5. springboot feign too many bytes written executing POST

    解決办法: pom添加: <dependency><groupId>io.github.openfeign</groupId><artifactId>f ...

  6. docker实战 (3) 常规配置

    本节会持续更新,在项目实战中遇到的docker配置都会更新进来 docker常用命令: docker 介绍: what: 是什么 why: 为什么用 how: 怎么用 docker 特点: 轻量级,可 ...

  7. maven下载jar demo

    pom.xml <?xml version="1.0"?> <project xmlns="http://maven.apache.org/POM/4. ...

  8. MySQL Execution Plan--IN子查询对UPDATE语句影响

    问题描述 在系统中发现一条执行时间为为44652.060734秒(12.5小时)的慢SQL,SQL语句为: UPDATE ob_internal_task SET OPERATE_STATUS WHE ...

  9. Xshell6和Xftp6 破解免安装版,无窗口多开限制

    免安装无窗口限制破解版 链接:https://pan.baidu.com/s/1wpFE499qoTjqHrPdQmTn4g提取码:2xcn 如上面的链接失效,可使用以下的链接: https://pa ...

  10. Vi 和 Vim 编辑器详细使用方法

    学习linux的一项必会技能,熟练使用vi/vim编辑器那便最重要的了.不过一堆操作看的也是太头疼了,以下整理了些常用到的命令. 工作模式 vi编辑界面有三种不同的工作模式,分别为命令模式.输入模式. ...