迭代目錄修改文件內容

package util;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class ChangePakage {

	public static void main(String args[]) {
		File dir = new File("D:\\workspaces\\study\\src");// 指定要迭代的目錄名
		List<Map> list1 = new ArrayList<Map>();
		List<Map> list = getFileName(list1, dir);
		for (Map<String, String> fileMap : list) {
			updateFile(fileMap.get("filePath"), fileMap.get("packageStr"));
			System.out.println(fileMap.get("packageStr"));
			System.out.println(fileMap.get("filePath"));
		}
	}

	public static List getFileName(List<Map> list, File dir) {
		File[] files = dir.listFiles();
		for (File file : files) {
			if (file.isDirectory()) {
				getFileName(list, file);
			} else {
				if (file.getName().endsWith(".java")) {
					String filePath = file.getPath();
					String packageStr = "";
					if (filePath.indexOf("day") != -1) {
						packageStr = filePath.substring(
								filePath.indexOf("day"),
								filePath.indexOf("day") + 5);
						packageStr = "package " + packageStr + ";\r";
						Map<String, String> fileMap = new HashMap<String, String>();
						fileMap.put("filePath", file.getPath());
						fileMap.put("packageStr", packageStr);
						list.add(fileMap);
					}

				}

			}
		}
		return list;
	}

	public static void updateFile(String filePath, String packageStr) {
		try {
			FileReader fr = new FileReader(filePath);
			BufferedReader br = new BufferedReader(fr);
			String s;
			StringBuilder sb = new StringBuilder();
			sb.append(packageStr);
			while ((s = br.readLine()) != null) {
				sb.append(s);
				sb.append("\r");
			}
			br.close();
			FileWriter fw = new FileWriter(filePath);
			BufferedWriter bw = new BufferedWriter(fw);
			bw.write(sb.toString());
			bw.flush();
			bw.close();
		} catch (Exception e) {
			e.printStackTrace();
		}

	}

	
}


 

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