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(); } }