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 ...
随机推荐
- NUTCH Exception in thread "Thread-12751" java.lang.OutOfMemoryError: PermGen space
转载自 :http://greemranqq.iteye.com/blog/1705867转载自:http://www.cnblogs.com/xwdreamer/archive/2011/11/21 ...
- Ollydbg 中断方法浅探
Ollydbg是一个新的32位的汇编层调试软件.适应于windows98.me.2000.xp和2003操作系统.由于他具有图形窗口界面,所以操作方便.直观,是cracker的好工具. 由于Ollyd ...
- mac终端命令简介
mac终端命令简介(适合刚刚入手mac的新人们) 1.取得root权限 意义相当与windows中的超级管理员权限,甚至还要超出.root权限可以修改系统中的任何文件,不过对普通用户的意义不大,了解即 ...
- use-a, has-a, is-a和实现关系
use-a关系 如果类A与类B是 use-a 关系,则A具有类型为B.B&.const B&.B*.const B*的一个成员,或者是可以轻易以上述对象之一 返回一个B的函数.于是A可 ...
- 【原创翻译】Reducing Branch Delay to Zero in Pipelined Processors
在流水线处理器中减少分支延迟到零 Antonio M. Gonzalez and Jose M. Llaberia 摘要 一种减少流水处理器中分支延迟到零的机制将在本文被描述以及评估.这种机制基于多重 ...
- bzoj3611
会构建虚树之后就是noip提高组的题目了稍微难一点的是求代价和,只要注意按一个方向避免重复计算贡献即可 ; type node=record po,next:longint; end; ..] of ...
- bzoj1143 2718
最小可相交路径覆盖 先预处理可到达的点然后转化为最小不相交路径覆盖 type node=record point,next:longint; end; ..] of node; ...
- BZOJ_1607_ [Usaco2008_Dec]_Patting_Heads_轻拍牛头_(筛数)
描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1607 给出一组n个数,求每个数能被多少个其他的数整除. 分析 暴力一点的做法就是每个数去筛它的 ...
- Microsoft Internet Explorer内存破坏漏洞(CVE-2013-5052)
漏洞版本: Microsoft Internet Explorer 6-11 漏洞描述: BUGTRAQ ID: 64126 CVE(CAN) ID: CVE-2013-5052 Internet E ...
- 保持与 Microsoft Azure Files 的连接
我们在最近的博客文章中介绍了 Azure StorageFiles的预览版,请单击此处.该文章包含 Azure Files 的相关信息,说明了如何申请预览版并开始使用,还介绍了一些有助于创建共享和传 ...