首页 > 代码库 > JAVA之File类-将指定目录下的所有java文件的绝对路径存储到文本文件中

JAVA之File类-将指定目录下的所有java文件的绝对路径存储到文本文件中

/*
 * 将指定目录下的所有java文件的绝对路径存储到文本文件中
 * 建立一个java列表。
 * 思路:
 * 1.对指定目录进行递归
 * 2.获取递归过程所有的java文件的路径
 * 3.将这些路径存储在集合中
 * 4.将集合中的内容写到文本文件
 * 注:3,4步骤也可以合并成一个步骤
 */
package ioTest.io3;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class JavaFileList {

	public static void main(String[] args) throws IOException {
		File dir=new File("F:\\javaListTest");
		List<File> list=new ArrayList<File>(); 
		fileToList(dir, list);
		for(File f:list)
		{
			System.out.println(f);
		}
		writeToFile(list);
	}
	public static void  fileToList(File dir,List<File> list) 
	{
		File[] files=dir.listFiles();
		for(File f:files)
		{
			if(f.isDirectory())
			{
				fileToList(f,list);
			}
			else {
				//文件的时候,只是取出java文件
				if(f.toString().endsWith(".java"))
				{
					list.add(f);
				}
			}
		}		
	}
	public static void writeToFile(List<File> list) throws IOException
	{
		//目的
		File file=new File("F:\\javaListTest", "\\javalist.txt");
		FileWriter out=new FileWriter(file);
		BufferedWriter bWriter=new BufferedWriter(out);
		for(File f:list)
		{
			bWriter.write(f.toString());
			bWriter.newLine();
			bWriter.flush();
		}		
	}
}