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. golang(三)

    map(声明.初始化和 make) 1. 概念2.map 容量3. 用切片作为 map 的值 概念 map 是引用类型,可以使用如下声明: var map1 map[keytype]valuetype ...

  2. 【转】ISE——完整工程的建立

    FPGA公司主要是两个Xilinx和Altera(现intel PSG),我们目前用的ISE是Xilinx的开发套件,现在ISE更新到14.7已经不更新了,换成了另一款开发套件Vivado,也是Xil ...

  3. SPOJ Qtree系列

    Qtree1 将边权变为这条边连接的两个点中深度更深的点的点权,这样就可以变为带修改链上最大点权.直接树链剖分即可. 下面是一份C语言代码 #include<stdio.h> #inclu ...

  4. Golang ---基准测试

    什么是基准测试 基准测试,是一种测试代码性能的方法,比如你有多种不同的方案,都可以解决问题,那么到底是那种方案性能更好呢?这时候基准测试就派上用场了. 基准测试主要是通过测试CPU和内存的效率问题,来 ...

  5. .NET 使用 ILMerge 合并多个程序集,避免引入额外的依赖

    原文:.NET 使用 ILMerge 合并多个程序集,避免引入额外的依赖 我们有多种工具可以将程序集合并成为一个.打包成一个程序集可以避免分发程序的时候带上一堆依赖而出问题. ILMerge 可以用来 ...

  6. Java之路---Day05

    2019-10-19-21:09:31 面向对象的封装性 封装性 概念:封装就是将一些细节信息隐藏起来,对于外界不可见 面向对象封装性在Java中的体现 1.方法就是一种封装 public class ...

  7. 【面试突击】-Redis常见面试题(一)

    介绍:Redis 是一个开源的使用 ANSI C 语言编写.遵守 BSD 协议.支持网络.可基于内存亦可持久化的日志型.Key-Value 数据库,并提供多种语言的 API的非关系型数据库. 传统数据 ...

  8. koa2---koa-bodyparser中间件

    对于POST请求的处理,koa-bodyparser中间件可以把koa2上下文的formData数据解析到ctx.request.body中 安装: npm install --save koa-bo ...

  9. springboot使用RestHighLevelClient7简单操作ElasticSearch7增删查改/索引创建

    本次操作是在  Windows上安装ElasticSearch7  进行操作 导入依赖 <?xml version="1.0" encoding="UTF-8&qu ...

  10. 大数据集群环境搭建之一 Centos基本环境准备

    首先需要准备的软件都有:Centos系统.SecureCRT 8.5.VMware Workstation Pro.jdk-8u172-linux-x64.tar.gz基本上这个软件就是今天的战场. ...