import org.junit.Test;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List; public class TestParseJson {
@Test
public void test() throws IOException {
Path startingDir = Paths.get("f:\\temp");
FindFileVisitor filterFilesVisitor= new FindFileVisitor(".wav","\\d+{13}"); Files.walkFileTree(startingDir, filterFilesVisitor); List<Path> files = filterFilesVisitor.getFilenameList();
System.out.println(files);
}
}
import java.nio.file.FileVisitResult;
import java.nio.file.Path;
import java.nio.file.SimpleFileVisitor;
import java.nio.file.attribute.BasicFileAttributes;
import java.util.LinkedList;
import java.util.List; class FindFileVisitor extends SimpleFileVisitor<Path> { private List<Path> filenameList = new LinkedList<>();
private String fileSuffix = null;
private String pattern = null; public FindFileVisitor(String fileSuffix) {
this.fileSuffix = fileSuffix;
} public FindFileVisitor(String fileSuffix,String pattern)
{
this(fileSuffix);
this.pattern = pattern;
} public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) { String absPath = file.toString(); Path fileName = file.getFileName(); if (absPath.endsWith(fileSuffix)) { if(pattern != null)
{
//正则表达式+文件后缀名匹配整个文件名
//例如pattern \\d{13} 后缀.wav组成新的表达式 "\\d{13}\\.wav"
if(!fileName.toString().matches(pattern + fileSuffix))
{
return FileVisitResult.CONTINUE;
}
}
filenameList.add(file.normalize());
}
return FileVisitResult.CONTINUE;
} public List<Path> getFilenameList() {
return filenameList;
}
}

输出结果

java使用新的(nio)遍历文件(支持文件后缀名、文件名正则表达式匹配)的更多相关文章

  1. IO流-递归遍历目录下指定后缀名结尾的文件名称

    /* *自定义遍历目录下指定后缀名结尾文件的名称的方法: * * param file:指定目录 name:指定后缀名 */ 1 public static void FileName(File fi ...

  2. java实现批量修改指定文件夹下所有后缀名的文件为另外后缀名的代码

    java实现批量修改指定文件夹下所有后缀名的文件为另外后缀名的代码 作者:Vashon package com.ywx.batchrename; import java.io.File; import ...

  3. Python从文件中读取字符串,用正则表达式匹配中文字符的问题

    2013-07-27 21:01:37|           在Windows下,用Python从.txt文件中读取字符串,并用正则表达式匹配中文,在网上看了方法,用的时候发现中文没有被匹配.     ...

  4. Java实现POI读取Excel文件,兼容后缀名xls和xlsx

    1.引入所需的jar包: maven管理项目的话直接添加以下坐标即可: <!-- https://mvnrepository.com/artifact/org.apache.poi/poi -- ...

  5. java根据文件流判断文件类型(后缀名)

    import java.io.FileInputStream; public class FileType{ public static String bytesToHexString(byte[] ...

  6. php 文件上传后缀名与文件类型对照表(几乎涵盖所有文件)

    网上有很多php文件上传的类,文件上传处理是php的一个特色(至少手册上是将此作为php特点来展示的,个人认为php在数组方面的优异功能更有特 色),学php的人都知道文件上传怎么做,但很多人在编程中 ...

  7. PHP文件上传后缀名与文件类型对照表

    ie 火狐 id 后缀名 php识别出的文件类型 0 gif image/gif 1 jpg image/jpeg 2 png image/png 3 bmp image/bmp 4 psd appl ...

  8. MFC 的资源文件 就是那个后缀名是 .rc的那个

    参考: http://blog.csdn.net/zgrjkflmkyc/article/details/16897881 http://www.oschina.net/question/565065 ...

  9. [计算机]如何在win7下查看并更改文件的默认后缀名

    如何在win7下查看默认文件的后缀名并更改呢? 例如有一个文件本来是exe,想变更为txt.但是无法看到后缀名,就无法更改. 双击桌面上的计算机图标,或者任意盘符界面,单击如下图左侧“组织”右侧的下拉 ...

随机推荐

  1. H5之postMessage

    对于跨域我们有很多的解决方案,今天我来分享一下postMessage的那点事,postMessage是html5新增的一个解决跨域的一个方法,不过很可惜万恶的ie6,7不支持 postMessage( ...

  2. php 生成gif 动图,可控制每张图时间

    <?php //namespace gifCreator; /** * Create an animated GIF from multiple images */ class gifcreat ...

  3. mongodb索引 单键索引

    单键索引是最普通的索引,比如一条记录,形式为{x:1,y:2,z:3},我们在x上建立索引,之后就可以以x为条件进行查询,与_id索引不同,单键索引不会自动创建 创建索引 > db.test2. ...

  4. python关于解决'\u'开头的字符串转中文的方法

    转自: https://www.cnblogs.com/hahaxzy9500/p/7685955.html 字符串转中文: s = '\u5468\u661f\u9170' print(s) ##打 ...

  5. phpstudy修改端口及网站根目录和访问 localhost 显示目录文件夹

    一.其它选项菜单=>phpStudy设置=>端口常规设置(勾选允许目录列表): 二. Apache http端口:80 网站目录:D:\phpStudy\PHPTutorial\WWW 默 ...

  6. Nginx命令和Nginx命令

    Nginx命令 h 查看帮助选项 V 查看版本和配置选项t 测试nginx语法错误c filename 指定配置⽂文件(default:/etc/nginx/nginx.conf)s signal 发 ...

  7. ln -s /usr/local/jdk1.8.0_201/bin/java /bin/java

    ln -s /usr/local/jdk1.8.0_201/bin/java /bin/java

  8. 日常note

    1.插入使相同的最少次数 给定两个序列A,B 每次只能进行把一个元素插入特定位置的操作 求至少对A进行多少次才能使A等于B 设A,B的长度为Len,那么答案为 \(Len-LCS(A,B)\) 2.\ ...

  9. redis在linux服务器部署

    0)参考资料 http://www.cnblogs.com/liuling/p/2014-4-19-02.html 1)下载安装包地址 http://download.redis.io/release ...

  10. vue+axios+elementUI文件上传与下载

    vue+axios+elementUI文件上传与下载 Simple_Learn 关注  0.5 2018.05.30 10:20 字数 209 阅读 15111评论 4喜欢 6 1.文件上传 这里主要 ...