package cn.everest.filetest;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FilenameFilter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class CopyFileAndChangeName {
public CopyFileAndChangeName() {}
public static void main(String[] args) throws Exception {
File[] files = GetFile.getInstance().findDirectionAndFile();
GetFile.getInstance().copyFiles(files);
}
}
class GetFile{
private GetFile() {}
private static GetFile getFile = null;
public static final GetFile getInstance(){
if(getFile == null){
synchronized (GetFile.class) {
if(getFile == null){
getFile = new GetFile();
}
}
}
return getFile;
}
public File[] findDirectionAndFile() {
File file = new File("D:\\javafile");
File[] listFiles = null;
if(file.isDirectory()){
listFiles = file.listFiles(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return name.endsWith(".java");
}
});
}
return listFiles;
}
public void copyFiles(File[] files) throws IOException{
File dirFile = new File("D:\\jad");
if(!dirFile.exists()){
if(dirFile.mkdir()){
System.out.println("创建目录 " + dirFile.toString() + " 成功");
}
} else {
System.out.println("目录已经存在");
}
for (int i = 0; i < files.length; i++) {
File file = files[i];
String fileName = file.getName();
String substring = fileName.substring(0, fileName.indexOf("."));
String temp = substring + ".jad";
System.out.println("complexName: " + temp);
BufferedReader bufferedReader = null;
BufferedWriter bufferedWriter = null;
try {
File fileWriter = new File(dirFile, temp);
fileWriter.createNewFile();
if(fileWriter.exists()){
bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
bufferedWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fileWriter)));
String buffer = "";
while ((buffer = bufferedReader.readLine()) != null) {
bufferedWriter.write(buffer + "\n\r");
}
bufferedWriter.flush();
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if(bufferedReader != null){
bufferedReader.close();
}
if(bufferedWriter != null){
bufferedWriter.close();
}
}
}
}
}