java 复制文件夹

xiaoxiao2021-02-28  80

package Copy; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; /* * 复制一个文件夹到另一个文件下 */ public class Copy { public static void main(String[] args) throws IOException { File src = new File("E:\\考试代码"); File dest = new File("D:\\"); copyFolder(src, dest); System.out.println("OK"); } static void copyFolder(File src, File dest) { if (src.isDirectory()) { // 如果目标目录不存在则创建 if (!dest.exists()) { dest.mkdirs(); } // 获取此目录下的文件及目录的名字 String files[] = src.list(); for (String file : files) { System.out.println(file); // 根据(src,dest)父抽象路径名和子路径名字符串(file)创建一个新的实例 File srcFile = new File(src, file); File destFile = new File(dest, file); // 递归复制文件 copyFolder(srcFile, destFile); } } else { // 如果是文件则直接复制 FileInputStream fis = null; FileOutputStream fos = null; try { // 创建输入流,读取文件 fis = new FileInputStream(src); // 创建输出流,写入文件 fos = new FileOutputStream(dest); byte[] bs = new byte[1024]; int count; while ((count = fis.read(bs)) != -1) { fos.write(bs, 0, count); fos.flush(); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally {// 关流释放资源 if (fos != null) { try { fos.close(); } catch (IOException e) { e.printStackTrace(); } } if (fis != null) { try { fis.close(); } catch (IOException e) { e.printStackTrace(); } } } } } }
转载请注明原文地址: https://www.6miu.com/read-78195.html

最新回复(0)