java中递归实现复制多级文件夹
2017-04-06 19:52
330 查看
直接上代码:
package copyFolderDemo; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; /* * * 需求:复制多级文件夹 * 数据源: * 目的地: * * 分析 * A:封装数据源、 * B:封装目的地 * C:判断该File是文件还是文件夹 * a:是文件夹 * 就在目的地下创建该文件夹 * 获取该File对象的所有文件或者文件夹对象 * 遍历得到每一个File对象 * 回到C * b:是文件 * 复制文件 * * */ public class CopyFoldersDemo { public static void main(String[] args) throws IOException { File srcFile=new File("h:\\movie"); File destFile=new File("h:\\copy-movie"); copyFolder(srcFile,destFile); } private static void copyFolder(File srcFile, File destFile) throws IOException { if(srcFile.isDirectory()){ File newFolder=new File(destFile,srcFile.getName()); newFolder.mkdirs(); File[] fileArray=srcFile.listFiles(); for(File file:fileArray){ copyFolder(file, newFolder); } }else{ File newFile=new File(destFile,srcFile.getName()); copyFile(srcFile,newFile); } } private static void copyFile(File srcFile, File newFile) throws IOException{ // TODO Auto-generated method stub BufferedInputStream bis=new BufferedInputStream(new FileInputStream(srcFile)); BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream(newFile)); byte[] bys=new byte[1024]; int len=0; while((len=bis.read(bys))!=-1){ bos.write(bys,0,len); } bos.close(); bis.close(); } }
相关文章推荐
- Java中递归实现复制文件夹和文件
- java实现多级文件夹复制
- java递归实现复制一个文件夹下所有文件的功能
- java实现文件夹(包括其中的子文件夹、子文件)的复制——递归
- Java笔记之io——递归创建与删除多层文件夹,字符流实现文件复制
- java递归实现多级文件的复制
- 使用java递归实现文件及文件夹的复制
- MFC 运用CFileFind 类 递归实现文件夹的 复制 (MFC 文件操作 二)
- Java实现文件夹的复制、移动、删除代码
- java实现整个文件夹的复制(同一路径下会复制出-副本)
- Java中实现复制文件到文件,复制文件到文件夹,复制文件夹到文件,删除文件,删除文件夹,移动文件,移动文件夹的工具类
- Java中实现复制文件或文件夹
- 递归拷贝一个文件夹(java实现)
- 复制一个文件夹下所有文件(包括子文件夹)并修改文件后缀名 java实现加密文档unlock
- java NIO实现的文件复制(包括文件与文件夹复制) NIO读取数据与写数据
- 【转载】Java实现文件夹的移动、内容复制、删除代码
- Java中实现复制文件或文件夹
- 用java实现的文件夹复制与删除的程序
- 面试题-程序题-Java递归实现遍历文件目录(所有文件夹和子文件)
- java中实现复制文件和文件夹