请问大神,这个程序为什么会出错?谢谢
- public class Demo {
- public static void main(String[] args) throws IOException {
- copy("E:\\javatest", "D:\\java/javadist");
- }
- public static void copy(String reFile, String deFile) throws IOException {
- File refile = new File(reFile);// 源文件夹
- File defile = new File(deFile);// 目标空间
- defile.mkdir();
- File[] files = refile.listFiles();// 获取的是该文件夹下的全部文件夹和文件。。
- for (File file : files) {
- if (file.isDirectory()) {
- String path = file.getPath(); // 是目录的话
- String newPath = path.replace(reFile, deFile);// 更换路径
- File newFile = new File(newPath);// 这里只是有这样一个文件
- newFile.mkdir(); // 创建新目录
- copy(path, deFile); // 这里利用了递归,把该文件夹下的全部文件打印出来。
- } else {
- String path = file.getPath(); // 不是目录的话
- String newPath = path.replace(reFile, deFile);// 更换路径
- File newFile = new File(newPath);
- FileInputStream fis = new FileInputStream(file);
- FileOutputStream fos = new FileOutputStream(newFile);
- byte[] buf = new byte[1024];
- int len = 0;
- while ((len = fis.read(buf)) != -1) {
- fos.write(buf, 0, len);
- }
- if (fis != null)
- fis.close();
- if (fos != null)
- fos.close();
- }
- }
- }
- }
复制代码 |
|