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. *** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS

    Warning提示的原因是 一些未使用的函数被编译进入芯片,浪费了RAM/ROM. 解决的方法: 1.将不用的函数注释: 2.在未使用函数的首尾加条件编译 #ifdef 函数名 和 #endif ,不 ...

  2. Java数据结构-ArrayList最细致的解析笔记

    ArrayList是一个类,这个类有一个数组参数elementData,ArrayList集合中的元素正是保存在这个数组中,它继承了数组查询的高性能,参考第3篇.ArrayList还封装了很多方法,便 ...

  3. Content Security Policy (CSP)内容安全策略

    CSP简介 Content Security Policy(CSP),内容(网页)安全策略,为了缓解潜在的跨站脚本问题(XSS攻击),浏览器的扩展程序系统引入了内容安全策略(CSP)这个概念. CSP ...

  4. 2019-07-24 Smarty模板引擎的简单应用

    smarty是什么? Smarty是一个使用PHP写出来的模板引擎,是业界最著名的PHP模板引擎之一.Smarty分离了逻辑代码和外在的内容,提供一种易于管理和使用的方法,用来将原本与HTML代码混杂 ...

  5. 【i.MX6UL/i.MX6ULL开发常见问题】单独编译内核,uboot生成很多文件,具体用哪一个?

    [i.MX6UL/i.MX6ULL开发常见问题]2.3单独编译内核,uboot生成很多文件,具体用哪一个? 答:内核编译出来的文件是~/MYiR-imx-Linux/arch/arm/boot/目录下 ...

  6. VUE基础回顾2

    1.响应式 vue修改了每个添加到data上的对象,当该对象发生变化时vue会收到通知,从而实现响应式.对象的每个属性都会被替换为getter,setter方法. 有两种方式实现data对象的监听 ( ...

  7. 《区块链DAPP开发入门、代码实现、场景应用》笔记4——Ethereum Wallet中部署合约

    账号创建完成之后,账号余额是0,但是部署合约是需要消耗GAS的,因此需要获取一定的以太币才能够继续本次实现.在测试网中获取以太币可以通过挖矿的方式,在开发菜单中可以选择打开挖矿模式,但是这需要将Syn ...

  8. Celery:Monitor

    参考文档:http://docs.celeryproject.org/en/latest/userguide/monitoring.html#guide-monitoring

  9. springboot+druid+mybatis

    pom.xml <dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId> ...

  10. 自定义View(一),初识自定义View

    看了无数资料,总结一下自定义View 先明白一个自定义View的三大流程 onMeasure() 测量,决定View的大小 onLayout() 布局,决定View在ViewGroup中的位置 onD ...