package com.io.liushuaishuai;
import java.io.*;
import java.lang.reflect.Field;
public class copyFolderDemo {
public static void main(String[] args) throws IOException {
//创建数据源目录File对象,路径是c:\\itcast
File srcfolder = new File("c:\\itcast");
//获取数据源目录File对象名称
String srcfolderName = srcfolder.getName();
//创建目的地File对象,路径是myIOstream\\srcfolederName
File destfolder = new File("myIOstream", srcfolderName);
//判断目的地目录对应的对象是否真实存在,如果不存在就创建它
if (!destfolder.exists()) {
destfolder.mkdir();
}
//获取数据源目录下所有文件的File数组
File[] listFiles = srcfolder.listFiles();
//遍历数组,得到每一个File对象,就是数据源文件就是
for (File srcfile : listFiles) {
System.out.println(srcfile); //c:\itcast\index.jpg
// c:\itcast\新建文本文档.txt
//
//获取数据源文件的名称
String srcfileName = srcfile.getName();
//创建目的地文件file对象:目的地目录对象+文件名
File destfile = new File(destfolder, srcfileName);
//复制文件调用方法
copyFile(srcfile, destfile);
}
}
// 复制方法
private static void copyFile(File srcfile, File destfile) throws IOException {
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(srcfile));
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(destfile));
byte[] bys = new byte[1024];
int len;
while ((len = bis.read(bys)) != -1) {
bos.write(bys,0,len);
}
bis.close();
bos.close();
}
}