Java简单递归实现检索文件
2014-02-24 15:22
417 查看
本文由广州疯狂软件java培训为你整理:
用了一个正则表达式检索file目录下所有文件名为fileName的文件,然后输出文件位置,文件名忽略大小写。
考虑到有的文件有后缀(比如说.txt或者.jpg或者其它的没有后缀的),这里用( | (\\.[\\S]{2,}))进行匹配,
后缀名一般常见的在“."后边至少有2个字符,所以这里暂且至少匹配2次
public void searchFile(File file,String fileName){
if(file.isFile()){
if(file.getName().toLowerCase().matches("^"+fileName.toLowerCase()+"(|(\\.[\\S]{2,}))
$"))
System.out.println(file.getPath());
}
else {
File[] files = file.listFiles();
for(File tempFile:files){
searchFile(tempFile,fileName);
}}}
这里开始测试:
public static void main(String[] args) throws IOException {
Test test = new Test();
test.searchFile(new File("C:\\Users\\Kodaira\\Desktop"),"test");
}
结果:
C:\Users\Kodaira\Desktop\test.jpg
C:\Users\Kodaira\Desktop\Test.txt
学真正Java技术,当然选疯狂软件Java培训机构,打造国内高级Java人才
疯狂软件Java培训优势
1. Java是世界第一大编程语言,市场占有率达20%。
2.广州最专业Java培训机构,多年教学经验。
3.学员技术牛就业率最好,就业薪资都在5000以上。
4.疯狂软件Java培训课程以项目实战带动教学,上课打破传统课堂模式,以实训项目贯穿教学,带领学生一起做企业真实项目。
疯狂Java培训专注软件开发培训,提升学员就业能力,重点提升实践动手能力。高薪从IT名企请来项目经理为学员亲自授课,对学员进行实战教学,在疯狂java,通过大量全真经典企业级项目进行集中培训,学员通过数月培训都可获得1-2年的工作经验,进而在同类的求职者中脱颖而出。疯狂Java培训让你体会java编程的快乐,项目开发的兴奋,成就感,通过短短几个月的时间,让你在半年的时间内掌握8-10万的代码量,掌握Java核心技术,迅速成为技能型的现代化高端人才,迅速获得高薪就业!
疯狂软件中心Java培训、iOS培训打造名企技术经理,成为中国软件产业的中流砥柱:全真企业需求,项目小组管理,大量实操项目的疯狂训练,企业全真案例教学,学成至少相当于两年工作经验 “全真项目”教学,高强度的狂热训练,带领学生走近编程,感受编程,热爱编程,学完后产生凤凰涅槃般的重生。 “全真企业环境”模拟:以项目组形式管理,每个程序员(学员)对项目组长负责,组长向项目经理(老师)负责。以版本控制工具为引导,充分激发每个程序员对编程的激情 四个半月掌握近8~10万代码量,达到技术经理的代码掌握量。
用了一个正则表达式检索file目录下所有文件名为fileName的文件,然后输出文件位置,文件名忽略大小写。
考虑到有的文件有后缀(比如说.txt或者.jpg或者其它的没有后缀的),这里用( | (\\.[\\S]{2,}))进行匹配,
后缀名一般常见的在“."后边至少有2个字符,所以这里暂且至少匹配2次
public void searchFile(File file,String fileName){
if(file.isFile()){
if(file.getName().toLowerCase().matches("^"+fileName.toLowerCase()+"(|(\\.[\\S]{2,}))
$"))
System.out.println(file.getPath());
}
else {
File[] files = file.listFiles();
for(File tempFile:files){
searchFile(tempFile,fileName);
}}}
这里开始测试:
public static void main(String[] args) throws IOException {
Test test = new Test();
test.searchFile(new File("C:\\Users\\Kodaira\\Desktop"),"test");
}
结果:
C:\Users\Kodaira\Desktop\test.jpg
C:\Users\Kodaira\Desktop\Test.txt
学真正Java技术,当然选疯狂软件Java培训机构,打造国内高级Java人才
疯狂软件Java培训优势
1. Java是世界第一大编程语言,市场占有率达20%。
2.广州最专业Java培训机构,多年教学经验。
3.学员技术牛就业率最好,就业薪资都在5000以上。
4.疯狂软件Java培训课程以项目实战带动教学,上课打破传统课堂模式,以实训项目贯穿教学,带领学生一起做企业真实项目。
疯狂Java培训专注软件开发培训,提升学员就业能力,重点提升实践动手能力。高薪从IT名企请来项目经理为学员亲自授课,对学员进行实战教学,在疯狂java,通过大量全真经典企业级项目进行集中培训,学员通过数月培训都可获得1-2年的工作经验,进而在同类的求职者中脱颖而出。疯狂Java培训让你体会java编程的快乐,项目开发的兴奋,成就感,通过短短几个月的时间,让你在半年的时间内掌握8-10万的代码量,掌握Java核心技术,迅速成为技能型的现代化高端人才,迅速获得高薪就业!
疯狂软件中心Java培训、iOS培训打造名企技术经理,成为中国软件产业的中流砥柱:全真企业需求,项目小组管理,大量实操项目的疯狂训练,企业全真案例教学,学成至少相当于两年工作经验 “全真项目”教学,高强度的狂热训练,带领学生走近编程,感受编程,热爱编程,学完后产生凤凰涅槃般的重生。 “全真企业环境”模拟:以项目组形式管理,每个程序员(学员)对项目组长负责,组长向项目经理(老师)负责。以版本控制工具为引导,充分激发每个程序员对编程的激情 四个半月掌握近8~10万代码量,达到技术经理的代码掌握量。
相关文章推荐
- 用Java实现简单的文件上传服务器和客户端
- Java编程的逻辑 (60) - 随机读写文件及其应用 - 实现一个简单的KV数据库
- 文件读写工具简单实现(一)之java的UI界面可视化画图/制作
- C语言_利用DOS命令实现的一个简单文件检索
- java递归的简单实现方式
- java实现简单文件复制(文件上传)以及springMVC中上传文件方式
- Java实现最简单的在线打开保存Excel文件
- java简单多线程方式+实现文件上传(spring mvc + jquery.form.js 框架)
- java实现递归删除目录及目录下所有文件,递归和非递归方式都有
- java网络编程:DatagramSocket类简单实现文件下载
- leetcode316: Remove Duplicate Letters 使用递归的简单java实现
- java递归与非递归实现扫描文件夹下所有文件
- 如何用Java来进行文件切割和简单的内容过滤的实现
- java中struts2实现简单的文件上传与下载
- 在Java中使用多线程结合断点续传实现一个简单的文件下载器
- Java递归实现文件删除
- Java动态显示文件上传进度的简单实现
- 通过java递归思想实现以树形方式展现出该目录中的所有子目录和文件
- Java语言实现简单FTP软件------>远程文件管理模块的实现(十)
- 面试题-程序题-Java递归实现遍历文件目录(所有文件夹和子文件)