【java编程】IO流之得到指定目录下.java文件的绝对路径

本文介绍了一种使用Java编程语言实现的递归文件搜索方法,该方法可以搜索指定目录下所有的.java文件,并将这些文件的绝对路径写入到一个文本文件中。此程序首先定义了目标目录,然后通过递归方式遍历该目录及其子目录,查找所有以.java为后缀的文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*
思路:
	1.对指定目录进行递归
	2.获得所有后缀名是.java的文件
	3.创建集合将所有.java文件对象存储进去
	4.遍历集合里的file对象,获得绝对路径,写到文件里*/
import java.io.*;
import java.util.*;
class GetFileList 
{
	public static void main(String[] args) 
	{
		File dir=new File("E:\\javacode\\javacode");
		List<File> list=new ArrayList<File>();
		getFileToList(dir,list);
		File file=new File(dir,"javacode.txt");
		WriteToFile(list,file.toString());
	}
	//得到File对象,将file对象存入list集合
	public static void getFileToList(File dir,List<File> list)
	{
		//得到所有File对象
		File[] files=dir.listFiles();
		//遍历File对象
		for(File file:files)
		{
			if(file.isDirectory())
				getFileToList(file,list);
			else
			{
				if(file.getName().endsWith(".java"))
					list.add(file);
			}
		}
	}
	//遍历list集合,将文件路径存入文件里
	public static void WriteToFile(List<File> list,String FileName) 
	{
		BufferedWriter bufw=null;
		try
		{
			bufw=new BufferedWriter(new FileWriter(FileName));
			for(File file:list)
			{
				String path=file.getAbsolutePath();
				bufw.write(path);
				bufw.newLine();
				bufw.flush();
			}
			
		}
		catch (IOException e)
		{
			throw new RuntimeException("路径写入失败!");
		}
		finally
		{
			if(bufw!=null)
				try
				{
					bufw.close();
				}
				catch (IOException e)
				{
					throw new RuntimeException("关闭写入流失败");
				}
				
		}

	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值