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();
}
}
}