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 ...
随机推荐
- sjtu1590 强迫症
Description BS96发布了一套有\(m\)个band柄绘的新badge,kuma先生想要拿到04的badge于是进行了抽抽抽. kuma先生一共抽了\(n\)个badge.他把所有的bad ...
- lr11 BUG?Failed to send data by channels - post message failed.
问题描述 : http协议,场景运行一会之后,报错! erro信息: Failed to send data by channels - post message failed. 解决方法 :ht ...
- http://blog.csdn.net/carolzhang8406/article/details/7196011
http://blog.csdn.net/carolzhang8406/article/details/7196011
- 李洪强实现横向滚动的View<二>
上一节中我们已经实现了一个带有图片,标题和价格label 的UIView 这节我们用这个view实现一个横向滚动的UIcollectionView 实现的效果如下: 01 - 创建CFTyreScr ...
- NHibernate与EF(Entity Framework)的区别
http://www.cnblogs.com/lukun/archive/2011/05/16/2047587.html NHibernate与EF(Entity Framework)的区别 http ...
- ANDROID_MARS学习笔记_S01原始版_007_Handler及线程的简单使用
一.运行结果 一.代码1.xml(1)activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.c ...
- Android Service 生命周期和使用注意项
一.基础知识 服务一般分为两种: 1:本地服务, Local Service 用于应用程序内部.在Service可以调用Context.startService()启动,调用Context.stopS ...
- 49. 面向对象的LotusScript(十五)之Log4Dom下
Log4Dom是模仿Log4J的思想建立的.Log4J能够向多种记录媒介以统一的格式写入各种级别的日志信息(包括错误.调试和信息等),还可以籍配置文件在运行时方便地修改记入日志的级别.Log4Dom提 ...
- Android开发UI之布局文件LinearLayout
LinearLayout-线性布局,该布局中的控件按照水平方向排列或者竖直方向排列. 通过属性android:orientation=""决定的,可选值:vertical和hori ...
- Eclipse问题解决方案,不断更新
执行“software update”时出现:Error retrieving "feature.xml"... 执行“software update”时出现:Error retr ...