Java基礎-Java練習-創建java文件列表

創建java文件列表

 

import java.io.*;
import java.util.*;
/*
 * 練習:創建Java文件列表
 */
class JavaFileList {
	public static void main(String[] args) {
		//指定.java文件存放的目錄
		File dir = new File("E:\\test");
		//創建集合,用於存放.java文件
		List<File> files = new ArrayList<File>();
		//調用方法,將.java文件存放到集合中
		fileToList(dir, files);
		
		//指定用於寫入數據的文件
		File file = new File(dir, "javalist.txt");
		//調用方法,將集合中的文件的文件路徑寫入文件
		writeToFile(files, file.toString());
	}
	//定義方法將.java文件存放到集合中
	public static void fileToList(File dir, List<File> list) {
		//獲取目錄中的所有內容
		File[] files = dir.listFiles();
		for (int x = 0; x < files.length; x++) {
			//如果是目錄,則遞歸
			if (files[x].isDirectory())
				fileToList(files[x], list);
			else {
				//如果是.java文件則存放到集合
				if (files[x].getName().endsWith(".java"))
					list.add(files[x]);
			}
		}
	}
	//定義方法,將集合中中的存放的文件的文件路徑存放到.txt文件中文件中
	public static void writeToFile(List<File> list, String javaListFile) {
		BufferedWriter bufw = null;
		try {
			//創建輸出流將數據寫入文件
			bufw = new BufferedWriter(new FileWriter(javaListFile));
			//循環獲取集合中的元素
			for (File f : list) {
				//獲取文件絕對路徑
				String path = f.getAbsolutePath();
				//將路徑寫入文件
				bufw.write(path);
				bufw.newLine();
				bufw.flush();
			}
			/*
			 * for(int x=0;x<list.size();x++) { String path =
			 * list.get(x).getAbsolutePath(); bufw.write(path); bufw.newLine();
			 * bufw.flush(); }
			 */
		} catch (IOException e) {
			throw new RuntimeException();
		} finally {
			try {
				if (bufw != null)
					bufw.close();
			} catch (IOException e) {
				System.out.println(e.toString());
			}
		}
	}
}

 

 





發佈了37 篇原創文章 · 獲贊 1 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章