首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

(IO)列出目录下全部的java文件

2013-11-19 
(IO)列出目录下所有的java文件要点:1. listFiles()? 列出指定目录下的文件夹和文件2. 如果是目录,则递归3.

(IO)列出目录下所有的java文件

要点:

1. listFiles()? 列出指定目录下的文件夹和文件

2. 如果是目录,则递归

3.FilenameFilter提供文件过滤功能,符合条件的文件加入到容器中

4.BufferWriter提供缓冲写功能

5.操作流,记得释放资源

?

package com.gc.file;import java.io.BufferedWriter;import java.io.File;import java.io.FileWriter;import java.io.FilenameFilter;import java.io.IOException;import java.util.ArrayList;import java.util.List;public class ListFile {public static void main(String[] args) throws IOException {//筛选出指定目录下的java文件File dir = new File("d:/java/test");FilenameFilter filter = new FilenameFilter() {@Overridepublic boolean accept(File dir, String name) {return name.endsWith(".java");}};List<File> fileList = new ArrayList<File>();listJavaFile(dir,filter,fileList);//将所有java文件路径写到文件中File destFile = new File("d:\\resut.txt");writeToFile(fileList, destFile);}private static List<File> listJavaFile(File dir, FilenameFilter filter, List<File> fileList) {File[] files = dir.listFiles();for(File file : files) {if(file.isDirectory()) {listJavaFile(file, filter, fileList);} else {if(filter.accept(dir, file.getName()))fileList.add(file);}}return fileList;}private static void writeToFile(List<File> fileList, File destFile) throws IOException {BufferedWriter bufw = null;try{bufw = new BufferedWriter(new FileWriter(destFile));for(File file : fileList) {bufw.write(file.getAbsolutePath());bufw.newLine();bufw.flush();}} finally {if(bufw!=null)bufw.close();}}}

?

?

?

?

?

热点排行