`
schy_hqh
  • 浏览: 542546 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

(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() {
			@Override
			public 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();
		}
	}
}

 

 

 

 

 

分享到:
评论

相关推荐

    JAVA实现 根据所写文件的目录列出目录下的文件

    知道目录后,可以列出该目录下所属的文件 import java.awt.*; import java.awt.event.*; import java.io.*; import javax.swing.*; //列出目录下的文件 public class ListFileDemo extends JFrame{ JTextField ...

    java-io-guide:Java中的Java IO(输入和输出流)指南

    这是Java中文件处理的完整指南。 本指南的源代码在我们的本地开发环境中经过了很好的测试,并使用了静态代码分析器工具SonatLint , PMD等对代码进行了分析...遍历/列出目录结构 检查目录是否为空 文件实用程序 Java F

    io-recurse-tests:创建一些基准测试,以递归方式列出所有IO文件

    基准测试,以测试递归列出所有I / O文件的变体。 所有测试均在每次通过时单独进行5次迭代,并进行初始灌注,以确保结果不受先前测试运行的影响。 测试是在配备32GB RAM的OSX 10.10.3的MacBook Pro上进行的。 检查...

    java jdk实列宝典 光盘源代码

    列出指定目录下的文件,并可过滤文件;创建文件和目录;删除文件和目录;移动文件和目录; 复制文件和目录;一个简单的文件搜索器; 多种方式读文件内容, 按字节读取文件内容、按字符读取文件内容、按行读取文件内容...

    IO输入输出留

    只列出符合过滤条件的文件、目录, 参数: 外接的过滤器 private static void test1() { // File f=new File("d:/rand.txt"); // File f=new File("d:/abad"); File f=new File("d:/...

    Java 1.6 API 中文 New

    里面列出了,Java的所有类及其使用方法! Java SE Platform 软件包: java.applet 提供创建 applet 所必需的类和 applet 用来与其 applet 上下文通信的类。 java.awt 包含用于创建用户界面和绘制图形图像的所有类。 ...

    java api最新7.0

    里面列出了Java jdk 1.7的所有类及其使用方法! Java SE Platform 软件包: java.applet 提供创建 applet 所必需的类和 applet 用来与其 applet 上下文通信的类。 java.awt 包含用于创建用户界面和绘制图形图像的所有...

    Java JDK实例宝典

    2 列出指定目录下的文件 7. 3 创建文件和目录 7. 4 删除文件和目录 7. 5 移动文件和目录 7. 6 复制文件和目录 7. 7 一个简单的文件搜索器 7. 8 读文件 7. 9 写文件 7. 10 添加内容...

    23个常用的文件处理方法

    列出指定目录的全部文件名,8.搜索指定目录的全部内容(包括所有子目录),,9.字节流,向文件中追加字符串 ,10.字节流,读取文件内容 ,11.字符流,写入数据 , 12.字符流,追加字符 ,13.字符流,读取内容 ,14....

    dotenv-java:DoDotenv是一个无深度的纯Java模块,可从.env文件加载环境变量

    -主机环境中列出的环境变量将覆盖.env中的环境变量。 使用dotenv.get("...")代替Java的System.getenv(...) 。安装需要Java 8或更高版本。玛文&lt; dependency&gt; &lt; groupId&gt;io.github.cdimascio&lt;/ group

    疯狂JAVA讲义

    学生提问:当我们使用编译C程序时,不仅需要指定存放目标文件的位置,也需要指定目标文件的文件名,这里使用javac编译Java程序时怎么不需要指定目标文件的文件名呢? 13 1.5.3 运行Java程序 14 1.5.4 根据...

    java中的Io(input与output)操作总结(二)

    一节我们来讨论关于文件自身的操作包括:创建文件对象、创建和删除文件、文件的判断和测试、创建目录、获取文件信息、列出文件系统的根目录、列出目录下的所有文件,等等,感兴趣的朋友可以了解下

    country-picker-android:一个列出所有国家/地区的android库,用户可以选择国家/地区

    列出所有国家/地区的android库,用户可以选择国家/地区名称,代码,拨号代码和标志。 如何使用 步骤1.将JitPack存储库添加到您的构建文件中。 将其添加到存储库末尾的root build.gradle中: allprojects { ...

    更好的文件:简单,安全和直观的Scala IO

    按文件大小的.csv列出目录中的所有.csv文件 放下每个文件的第一行,然后将其余文件合并为一个输出文件 将上面的输出文件拆分为n较小的文件,而不破坏输入文件中的行 gzip每个较小的输出文件 注意:当文件比JVM中的...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    本书是第II卷,以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了应用Java进行桌面程序开发各个方面的知识和技巧,主要包括Java语法与面向对象技术、Java高级应用、窗体与控件应用、文件操作...

    +Flex+集成到+Java+EE+应用程序的最佳实践(完整源代码)

    资源简介现有的 Java EE 应用 假定我们已经拥有了一个管理雇员...可以通过 ActionScript 编码创建该对象,也可以直接在 MXML 中定义一个 RemoteObject 对象,并列出其所有的方法: 清单 13. 定义 flexServiceRO ...

    retro-io:Java库,用于读取和提取8位和16位计算机的软盘映像

    下面的“贷方”部分列出了使用其代码来实现此库的项目和人员。 作为简单的概念验证和实用程序,该代码将作为可执行的Jar出现,并包含一个简单的GUI工具,该工具允许加载图像文件并提取其内容。 API /用法 要使用您...

Global site tag (gtag.js) - Google Analytics