用递归方法复制目录、子目录以及文件(文件用到IO流)
2017-12-29 10:19
627 查看
package com.dragon.java.newcopyfile; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class Test { public static void main(String args[]) { File file = new File("f:/Exercises"); File file2 = new File("f:/book"); copyFile(file, file2); } // 递归方法 public static void copyFile(File file, File file2) { // 当找到目录时,创建目录 if (file.isDirectory()) { file2.mkdir(); File[] files = file.listFiles(); for (File file3 : files) { // 递归 copyFile(file3, new File(file2, file3.getName())); } //当找到文件时 } else if (file.isFile()) { File file3 = new File(file2.getAbsolutePath()); try { file3.createNewFile(); copyDatas(file.getAbsolutePath(), file3.getAbsolutePath()); } catch (IOException e) { e.printStackTrace(); } } } // 复制文件数据的方法 public static void copyDatas(String filePath, String filePath1) { FileInputStream fis = null; FileOutputStream fos = null; try { // 字节流 fis = new FileInputStream(filePath); fos = new FileOutputStream(filePath1); byte[] buffer = new byte[1024]; while (true) { int temp = fis.read(buffer, 0, buffer.length); if (temp == -1) { break; } else { fos.write(buffer, 0, temp); } } } catch (IOException e) { System.out.println(e); } finally { try { fis.close(); fos.close(); } catch (IOException e) { System.out.println(e); } } } }
相关文章推荐
- Java-->用递归方法复制目录、子目录以及文件(文件用到IO流)
- Visual C# - 读者询问如何复制目录以及目录下所有的子目录与文件
- php通过递归方式复制目录和子目录的方法
- Visual C# - 读者询问如何复制目录以及目录下所有的子目录与文件
- 非递归方法枚举目录下所有文件(含子目录)
- 递归解压当前目录以及子目录下的所有压缩文件,并删除源文件
- php通过递归方式复制目录和子目录的方法
- 递归解压当前目录以及子目录下的所有压缩文件,并删除源文件
- 黑马程序员——java-IO流中复制单击目录以及使用递归的方式复制多级目录小结
- [批处理]把指定文件复制到指定目录下的所有子目录下(包括子目录的下级目录)
- C#递归读取目录里所有文件(包括子目录)及其文件操作
- C#递归读取目录里所有文件(包括子目录)及其文件操作
- 递归删除指定目录下所有文件及子目录
- 在Linux系统下递归删除文件或目录的方法
- java编程心得(十)——递归读取目录下的文件和子目录
- C#文件操作源码 递归复制一个目录 递归删除文件 和 文件夹
- 采用非递归方式遍历目录及其子目录的文件
- 查找指定目录下所有文件(包括子目录)——使用递归
- 用递归方法删除文件夹目录及文件
- JAVA 的递归方法查找目录下的文件和文件夹