使用字节流复制一个文件夹和文件夹当中的所有文件
有使用递归的算法思想
package com.iotek.iodemo;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class CopeDirDemo {
public static void main(String[] args) {
try {
CopeDirUnit.copeDir(new File("E:\\doc"),
new File("e:\\app"));
System.out.println("success");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
class CopeDirUnit{
public static void copeDir(File src,File dsc) throws IOException{
dsc.mkdirs(); //创建目标文件夹
if (src!=null) {
File[] files = src.listFiles(); //遍历文件夹当中的文件或者
if (files!=null) {
for (File f : files) {
if (f.isFile()) {
//复制文件
FileInputStream fis = new FileInputStream(f);
FileOutputStream fos = new FileOutputStream(
dsc.getAbsolutePath()+"\\"+f.getName());
byte [] buff = new byte[1024*1024];
int len = -1;
while((len = fis.read(buff))!=-1){
fos.write(buff,0,len);
}
fis.close();
fos.close();
}else{
//递归的思想
copeDir(f,
new File(dsc.getAbsolutePath()+"\\"+
f.getName()));
}
}
}
}
}
}