本帖最后由 smile_joe 于 2013-4-25 23:28 编辑
package cn.joe.FileandRecursion;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class exercise5 {
public static void main(String[] args) throws IOException {
// 先定义两个 文件
File f1 = new File("G:/Ejava/day20");
File f2 = new File("C:/");
// 调用方法
copy(f1, f2);
}
public static void copy(File f1, File f2) throws IOException {
// new 文件,作为接收
File newFile = new File(f2, f1.getName());
// 实例化文件
newFile.mkdir();
// 得到文件下子文件
File[] subFiles = f1.listFiles();
// 遍历file数组
// if(subFiles != null) {
for (File file : subFiles) {
if (file.isFile()) {
// 创建一个字节输入流
FileInputStream fis = new FileInputStream(file);
FileOutputStream fos = new FileOutputStream(newFile);
// 数组模式读取
byte[] buffer = new byte[1024];
int len;
// 循环全部读取
while ((len = fis.read(buffer)) != -1)
fos.write(buffer, 0, len);
fis.close();
fos.close();
} else
// 递归
copy(file, newFile);
}
// }
}
}
//
// 关于文件夹的拷贝
// 请高手帮忙看下,编译ok,运行报错:拒绝访问
// 头大找不出错误,刚学,请帮忙看看,急...谢谢
|