package com.file;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class updateFile {
public static int time = 0;
public static void main(String[] args) {
String filePath = "D:\\test\\";
iteratorFile(filePath);
System.out
.println("**********************************************************");
System.out.println("total:Update " + time + " files");
}
public static void iteratorFile(String filePath) {
File file = new File(filePath);
File[] files = file.listFiles();
for (int i = 0; files != null && i < files.length; i++) {
if (files[i].isDirectory()) {
iteratorFile(files[i].getAbsolutePath().replace('\\', '/'));
} else if (files[i].isFile()) {
String file_name = files[i].getAbsolutePath()
.replace('\\', '/');
updateFile(new File(file_name));
}
}
}
public static void updateFile(File file) {
if (file.getName().length() > 0) {
try {
int index = file.getAbsolutePath().lastIndexOf('\\') + 1;
String fileName = file.getName();
File file1 = new File(file.getAbsolutePath()
.substring(0, index)
+ fileName + "_bakj");
System.out
.println("**********************************************************");
System.out.println(file.getAbsolutePath());
BufferedReader br = new BufferedReader(new InputStreamReader(
new FileInputStream(file)));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream(file1)));
String line = null;
while ((line = br.readLine()) != null) {
if (line.indexOf("C:") != -1 || line.indexOf("c:") != -1) {
System.out.println(line);
}
bw.write(line.replace("c:", "D:").replace("C:", "D:")
+ "\n");
}
time++;
bw.flush();
bw.close();
br.close();
file.delete();
file1.renameTo(new File(file.getAbsolutePath().substring(0,
index)
+ fileName));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}