java获取指定目录下所有指定扩展名的文件
2009-12-10 18:12
876 查看
内容比较简单,关键是文件过滤器的使用和简单的递归思想
import java.io.File;
import java.io.FileFilter;
import java.io.FilenameFilter;
public class file_list {
public static void list(String name) {
try {
File f = new File(name);
if (!f.exists()) {
System.out.println("文件不存在哦");
return;
}
if (f.isDirectory()) {
File[] list = f.listFiles(getFileExtensionFilter(".txt"));
for (int i = 0; i < list.length; i++)
System.out.println(list[i].toString());
list = f.listFiles(getNotDirFileFilter());
for (int i = 0; i < list.length; i++)
if (list[i].isDirectory())
list(list[i].toString());
}
} catch (Exception e) {
System.out.println("IO error!/r/n" + e.toString());
}
}
public static void main(String[] args) {
list("c://windows");
}
public static FilenameFilter getFileExtensionFilter(String extension) {// 指定扩展名过滤
final String _extension = extension;
return new FilenameFilter() {
public boolean accept(File file, String name) {
boolean ret = name.endsWith(_extension);
return ret;
}
};
}
public static FileFilter getNotDirFileFilter() { // 文件还是目录过滤
return new FileFilter() {
public boolean accept(File file) {
return file.isDirectory();//关键判断点
}
};
}
}
import java.io.File;
import java.io.FileFilter;
import java.io.FilenameFilter;
public class file_list {
public static void list(String name) {
try {
File f = new File(name);
if (!f.exists()) {
System.out.println("文件不存在哦");
return;
}
if (f.isDirectory()) {
File[] list = f.listFiles(getFileExtensionFilter(".txt"));
for (int i = 0; i < list.length; i++)
System.out.println(list[i].toString());
list = f.listFiles(getNotDirFileFilter());
for (int i = 0; i < list.length; i++)
if (list[i].isDirectory())
list(list[i].toString());
}
} catch (Exception e) {
System.out.println("IO error!/r/n" + e.toString());
}
}
public static void main(String[] args) {
list("c://windows");
}
public static FilenameFilter getFileExtensionFilter(String extension) {// 指定扩展名过滤
final String _extension = extension;
return new FilenameFilter() {
public boolean accept(File file, String name) {
boolean ret = name.endsWith(_extension);
return ret;
}
};
}
public static FileFilter getNotDirFileFilter() { // 文件还是目录过滤
return new FileFilter() {
public boolean accept(File file) {
return file.isDirectory();//关键判断点
}
};
}
}
相关文章推荐
- 获取指定目录及其子目录的所有文件(JAVA)
- java 列出指定目录下的所有文件及文件扩展名
- java基础知识回顾之javaIO类--File类应用:获取指定目录下面的指定扩展名的文件,将文件的绝对路径写入到目的文件当中
- Java File类学习笔记1:运用FileNameFilter类,获得某一目录下所有指定扩展名的文件
- java 获取指定目录下的所有文件
- java获取指定目录下所有文件
- Java利用递归思想遍历指定目录,获取所有的文件
- java获取指定目录下所有文件
- 对指定的目录进行递归获取递归过程所有的java文件的路径。
- Java--获取指定目录下的所有文件
- java 获取指定目录下所有文件的名称
- java语言基础(80)——递归获取指定目录下所有的文件
- Java获取目录下的所有文件
- PHP 获取指定目录下所有文件(包含子目录)
- IO流_递归输出指定目录下所有的java文件的绝对路径案例
- 如何是获取一个文件夹里所有以.java结尾文件的数目,并把符合条件的文件名写到一个目录下。
- java IO-搜索目录所有子文件、复制文件到指定地方
- C#Winfrom获取指定目录下所有文件名称和文件名称相应的目录 并且添加到DataTable
- Java--获取指定目录下指定suffix的文件
- win32命令行小程序获取指定文件夹或者目录下面的所有文件大小,文件数量,目录数量