血的教训之后。特写此文章,意在提醒自己:作为一名coder,时刻记住动手至上原则,别BB。 ̄へ ̄
代码功能:用java进行文件夹内容拷贝。
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class DirectoryCopy {
public static void main(String[] args) {
File src = new File("D:\\git\\eclipse-workspace\\HeartGame");
File des = new File("D:\\des");
copy(src, des);
System.out.println("copy successfully!");
}
public static void copy(File src, File des) {
File[] fileArray = src.listFiles();
if(fileArray != null) {
for(File src1 : fileArray) {
File des1 = new File(des, src1.getName());
if(src1.isDirectory()) {
des1.mkdir();
copy(src1, des1);
}else {
write(src1, des1);
}
}
}
}
public static void write(File src, File des) {
FileInputStream fis = null;
FileOutputStream fos = null;
try {
fis = new FileInputStream(src);
fos = new FileOutputStream(des);
byte[] bys = new byte[1024];
int len = 0;
while((len = fis.read(bys)) != -1) {
fos.write(bys, 0, len);
}
}catch(FileNotFoundException e) {
e.printStackTrace();
}catch(IOException e){
e.printStackTrace();
}finally {
try {
fis.close();
fos.close();
}catch(IOException e){
e.printStackTrace();
}
}
}
}