文件夹的复制
前言
在Java中,复制文件夹,需要用到的是IO流技术。下面我将分别介绍单级文件夹和多级文件夹的复制。
一、单级文件夹的复制
(文件夹里面只有文件 不包含子文件夹)
需求:把"E:\english"这个文件夹复制到E:\CloudMusic目录下。
思路:
- 创建数据源目录File对象,路径是E:\english
- 获取数据源目录File对象的名称(english)
- 创建目的地目录File对象,路径名是目的地目录+english组成:E:\CloudMusic\english
- 判断目的地目录对应的File是否存在,如果不存在,就创建
- 获取数据源目录下所有文件的File数组
- 遍历File数组,得到每一个File对象,其实就是数据源文件
- 获取数据源文件File的名称(mn.jpg)
- 创建目的地文件File对象,路径名是目的地目录+mn.jpg组成:E:\CloudMusic\english\mn.jpg
- 复制文件
由于文件不仅仅是文本文件,还有图片,所以采用字节流复制文件
1.main方法
代码如下(示例):
public static void main(String[] args) throws IOException {
//创建数据源目录File对象,路径是E:\english
File srcFolder = new File("E:\\english");
//获取数据源目录File对象的名称(english)
String srcFolderName = srcFolder.getName();
//创建目的地目录File对象,路径名是目的地目录+english组成E:\\CloudMusic\\english
File destFolder = new File("E:\\CloudMusic", srcFolderName);
// 判断目的地目录对应的File是否存在,如果不存在,就创建
if (!destFolder.exists()) {
destFolder.mkdir();
}
//获取数据源目录下所有文件的File数组
File[] listFiles = srcFolder.listFiles();
//遍历File数组,得到每一个File对象&