Java获取一个路径下指定后缀名的所有文件
方法一:
http://blog.csdn.net/zjx102938/article/details/8114114
import java.io.File;
import java.util.ArrayList;
import java.util.List; public class FileFind {
public static void main(String[] args) { String path = "D:\\Test";
List data=new ArrayList();
data=getData(path, data);
for (int i=0;i<data.size();i++) {
System.out.println(data.get(i));
}
} private static List getData(String path, List data) { File f=new File(path);
if (f.isDirectory()) {
File[] fs=f.listFiles();
for (int i=0;i<fs.length;i++) {
data=getData(fs[i].getPath(), data);
}
} else if (f.getName().endsWith(".java")) {
data.add(f.getName());
}
return data;
}
}
方法二:
package test; import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.FilenameFilter;
import java.io.IOException;
import java.util.ArrayList; public class SearchSuffixIndir { private static String path = "E:\\myeclipse\\mirror_parse\\WebRoot\\mirror"; /**
*
* 将给定目录下的及子目录下的 所有的给定后缀名的文件路径打印到一个文件中。
*
* 深度遍历该父目录,将符合条件的文件路径存到集合中。(进行过滤)。
*
* 再将集合写到文件中。
*
*
*/
public static void main(String[] args) { File dir = new File(path); File file = new File(dir,"suffix.txt");
//内部类
FilenameFilter searchSuffix = new FilenameFilter(){
@Override
public boolean accept(File dir, String name) {
return name.endsWith(".html");
}
}; ArrayList<File> path = new ArrayList<File>(); writeToArr(dir,searchSuffix,path);
writeTofile(path,file);
} private static void writeTofile(ArrayList<File> al, File file) {
BufferedWriter bw = null;
try {
bw = new BufferedWriter(new FileWriter(file)); for(File f: al){
new String();
// bw.write(String.valueOf(f.length()));
bw.write(f.getAbsolutePath());
bw.newLine();
bw.flush();
}
} catch (IOException e) {
throw new RuntimeException("写入失败!");
}finally{
if(bw != null)
try {
bw.close();
} catch (IOException e) {
throw new RuntimeException("关闭失败!");
}
} } public static void writeToArr(File dir, FilenameFilter searchSuffix, ArrayList<File> al) { File []files = dir.listFiles();
for(File f : files){
if(f.isDirectory()){
//递归了。
writeToArr(f, searchSuffix, al);
}else{
if(searchSuffix.accept(dir, f.getName())){
System.out.println(f);
al.add(f);
}
}
}
} }
Java获取一个路径下指定后缀名的所有文件的更多相关文章
- C#中获取指定路径下指定后缀名的所有文件的路径的list
场景 指定一个路径和后缀名,查找这个路径下所有以此后缀名结尾的文件. 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi关注公众号 霸道的程序猿 获取 ...
- IO流-递归遍历目录下指定后缀名结尾的文件名称
/* *自定义遍历目录下指定后缀名结尾文件的名称的方法: * * param file:指定目录 name:指定后缀名 */ 1 public static void FileName(File fi ...
- Python查找当前路径和子路径下指定后缀名的文件
# -*- encoding:utf-8 -*- import os def SearchFile(path,text): try: files=os.listdir(path) for f in f ...
- Java基础知识强化之IO流笔记49:IO流练习之 复制指定目录下指定后缀名的文件并修改名称的案例
1. 复制指定目录下指定后缀名的文件并修改名称的案例 需求:复制指定目录下的指定文件,并修改后缀名. • 指定的文件是:.java文件. • 指定的后缀名是:.jad • 指 ...
- 删除指定路径下指定天数之前(以文件的最后修改日期为准)的文件:BAT + VBS
代码如下: @echo off ::演示:删除指定路径下指定天数之前(以文件的最后修改日期为准)的文件. ::如果演示结果无误,把del前面的echo去掉,即可实现真正删除. ::本例调用了临时VBS ...
- 删除指定路径下指定天数之前(以文件的修改日期为准)的文件:forfiles
删除指定路径下指定天数之前(以文件的修改日期为准)的文件:forfiles 代码如下: @echo off ::演示:删除指定路径下指定天数之前(以文件的最后修改日期为准)的文件. ::如果演示结果无 ...
- 删除指定路径下指定天数之前(以文件的创建日期为准)的文件:BAT + REG + Ritchie Lawrence 日期函数
代码如下: @echo off::演示:删除指定路径下指定天数之前(以文件的创建日期为准)的文件.::如果演示结果无误,把del前面的echo去掉,即可实现真正删除.::本例调用了 Ritchie L ...
- Java 递归获取一个路径下的所有文件,文件夹名称
package com.readfile; import java.io.File; public class GetAllFiles { public static void main(String ...
- java 获取某路径下的子文件/子路径
/** * 获取某路径下的子文件 * */ public static List<String> getSubFile(String path){ List<String> s ...
随机推荐
- java连接mysql数据库(jsp显示和控制台显示)
很多事情,在我们没有做之前我们觉得好难,但是只要你静下心来,毕竟这些都是人搞出来的,只要你是人,那就一定可以明白. 配置:JDK1.8,MySQL5.7,eclipse:Neon Rel ...
- Android-java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
章出自:luchg技术交流 http://www.luchg.com 版权所有.本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源,谢谢. Android-java.lang.Runti ...
- IgnoreRoute——注册路由
routes.IgnoreRoute("home/about"); 这句话,当Route遇到Home/About的Url时,这段URL将被忽略. 效果图 需要注意的是这里route ...
- SDUT 1646 Complicated Expressions
http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=1646 题意 : 话说我根本没读题,,,因为实在 ...
- IIS虚拟目录实现与文件服务器网络驱动器映射共享
这篇文章转载别人,想原创作者致敬! 我本人也遇到同样的问题,故转载记录. 本文重点描述如何使用IIS访问共享资源来架设站点或执行 ASP.Net 等脚本. 通常情况下,拥有多台服务器的朋友在使用IIS ...
- 使用Code first 进行更新数据库结构(数据迁移)
CodeFirst 背景 code first起初当修改model后,要持久化至数据库中时,总要把原数据库给删除掉再创建(DropCreateDatabaseIfModelChanges),此时就会 ...
- 用PersonalRank实现基于图的推荐算法
今天我们讲一个下怎么使用随机游走算法PersonalRank实现基于图的推荐. 在推荐系统中,用户行为数据可以表示成图的形式,具体来说是二部图.用户的行为数据集由一个个(u,i)二元组组成,表示为用户 ...
- Centos4.3安装MySQL-python-1.2.3,出现error: command 'gcc' failed with exit status 1
在Linux Centos 4.3上安装MySQL-python-1.2.3的时候出现error: command 'gcc' failed with exit status 1, 具体原因是因为没有 ...
- Eclipse中输入系统变量和运行参数
在开发时,有时候可能需要根据不同的环境设置不同的系统参数,我们都知道,在使用java -jar命令时可以使用-D参数来设置运行时的系统变量,同样,在Eclipse中运行java程序时,我们怎么设置该系 ...
- [转] acmer必看的26个对acm态度
acmer必看的26个对acm态度 转载自:http://www.cppblog.com/Darren/archive/2009/08/03/92099.html Attempt Keep on ...