C/C++教程

复制多级文件CopyFoldersDemo!!!

本文主要是介绍复制多级文件CopyFoldersDemo!!!,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
 1 public class CopyFoldersDemo {
 2     public static void main(String[] args) throws IOException {
 3         //创建数据源File对象,路径是E:\\itcast
 4         File srcFile = new File("C:\\Users\\17310\\IdeaProjects\\itcast");
 5 
 6         //创建目的地File对象,路径是F:\\
 7         File destFile = new File("C:\\Users\\17310\\IdeaProjects\\myCharSyream");
 8 
 9         //写方法实现文件夹的复制,参数为数据源File对象和目的地File对象
10         copyFolder(srcFile, destFile);
11     }
12 
13     //复制文件夹
14     private static void copyFolder(File srcFile, File destFile) throws IOException {
15         //判断数据源File是否是目录
16         if (srcFile.isDirectory()) {
17             //在目的地下创建和数据源File名称一样的目录
18             String srcFileName = srcFile.getName();
19             File newFolder = new File(destFile, srcFileName);
20             if (!newFolder.exists()) {
21                 newFolder.mkdir();
22             }
23             //获取数据源File下所有文件或者目录的File数组
24             File[] fileArray = srcFile.listFiles();
25             //遍历该File数组,得到每一-个File对象
26             for (File file:fileArray){
27                 //把该File作为数据源File对象,递归调用复制文件夹的方法
28                 copyFolder(file,newFolder);
29             }
30         }else {
31             //说明是文件,直接复制,用字节流
32             File newFile = new File(destFile, srcFile.getName());
33             copyFile(srcFile,newFile);
34         }
35     }
36 
37     //字节缓冲流复制文件
38     private static void copyFile(File srcFile, File destFile) throws IOException {
39         BufferedInputStream bis = new BufferedInputStream(new FileInputStream(srcFile));
40         BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(destFile));
41 
42         byte[] bys = new byte[1024];
43         int len;
44         while ((len = bis.read(bys)) != -1) {
45             bos.write(bys, 0, len);
46         }
47 
48         bis.close();
49         bos.close();
50     }
51 }

 P310

这篇关于复制多级文件CopyFoldersDemo!!!的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!