方法一:

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获取一个路径下指定后缀名的所有文件的更多相关文章

  1. C#中获取指定路径下指定后缀名的所有文件的路径的list

    场景 指定一个路径和后缀名,查找这个路径下所有以此后缀名结尾的文件. 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi关注公众号 霸道的程序猿 获取 ...

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

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

  3. Python查找当前路径和子路径下指定后缀名的文件

    # -*- encoding:utf-8 -*- import os def SearchFile(path,text): try: files=os.listdir(path) for f in f ...

  4. Java基础知识强化之IO流笔记49:IO流练习之 复制指定目录下指定后缀名的文件并修改名称的案例

    1. 复制指定目录下指定后缀名的文件并修改名称的案例     需求:复制指定目录下的指定文件,并修改后缀名.  • 指定的文件是:.java文件.     • 指定的后缀名是:.jad     • 指 ...

  5. 删除指定路径下指定天数之前(以文件的最后修改日期为准)的文件:BAT + VBS

    代码如下: @echo off ::演示:删除指定路径下指定天数之前(以文件的最后修改日期为准)的文件. ::如果演示结果无误,把del前面的echo去掉,即可实现真正删除. ::本例调用了临时VBS ...

  6. 删除指定路径下指定天数之前(以文件的修改日期为准)的文件:forfiles

    删除指定路径下指定天数之前(以文件的修改日期为准)的文件:forfiles 代码如下: @echo off ::演示:删除指定路径下指定天数之前(以文件的最后修改日期为准)的文件. ::如果演示结果无 ...

  7. 删除指定路径下指定天数之前(以文件的创建日期为准)的文件:BAT + REG + Ritchie Lawrence 日期函数

    代码如下: @echo off::演示:删除指定路径下指定天数之前(以文件的创建日期为准)的文件.::如果演示结果无误,把del前面的echo去掉,即可实现真正删除.::本例调用了 Ritchie L ...

  8. Java 递归获取一个路径下的所有文件,文件夹名称

    package com.readfile; import java.io.File; public class GetAllFiles { public static void main(String ...

  9. java 获取某路径下的子文件/子路径

    /** * 获取某路径下的子文件 * */ public static List<String> getSubFile(String path){ List<String> s ...

随机推荐

  1. 实用make最佳实践

    http://www.cnblogs.com/ggjucheng/archive/2011/12/14/2288055.html 一.前言 Make工具最主要也是最基本的功能就是通过makefile文 ...

  2. php smarty section使用

    文件:section.tpl <html> <head> <title></title> </head> <body> {sec ...

  3. 【NOIP 2015 DAY2 T3】 运输计划 (树链剖分-LCA)

    题目背景 公元 2044 年,人类进入了宇宙纪元. 题目描述 L 国有 n 个星球,还有 n-1 条双向航道,每条航道建立在两个星球之间,这 n-1 条航道连通了 L 国的所有星球. 小 P 掌管一家 ...

  4. html5 spring demo

    <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8& ...

  5. 【HDOJ】1230 火星A+B

    个人觉得这道题没那么水,wa了几次,才发现自己居然没有给srcb数组reset,打错了.搞死啊. #include <stdio.h> #include <string.h> ...

  6. 【HDOJ】1009 FatMouse' Trade

    这道题目是一道非常简单的贪心,但是我却修改了1h+.原因就是qsort的comp有bug.其实还是题目中的数据可以为0.除数为0真的要慎重啊.后来改为结构体,加一层循环选取最大值,果然ac啊.wa了几 ...

  7. XBMC 最新版本错误

    1. Syntax error: "(" unexpected 修改 tools/depends下的makefile.include 将NDK_VER=0x9d

  8. [NYOJ 43] 24 Point game

    24 Point game 时间限制:3000 ms  |  内存限制:65535 KB 难度:5   描述 There is a game which is called 24 Point game ...

  9. Sharepoint 2010 用VS定制Master,并且每个Web应用同一个Master

    转:http://***/html/blogs/20130407/1381.htm 最近做了一个项目管理系统,要求用Sharepoint,有个特别的功能就是通过创建出来的子站点要求应用同一个Maste ...

  10. 安装Intel CPU的Android模拟器

    1. 用Android SDK Manager安装Extras/Intel x86 Emulator Accelarator(HAXM) 2. 用Android SDK Manager安装Androi ...