利用File以及IO流来实现复值文件夹

来源:互联网 发布:淘宝网男运动套装 编辑:程序博客网 时间:2024/05/27 20:03

直接写入文件夹路径即可实现复制

import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;public class CopyDirectory {    public static void main(String[] args) {        File copyFile = new File("要复制的文件夹路径");        copy(copyFile);     }    /**     * 利用递归实现遍历,实现复制文件夹和文件     * @param copyFile 要复制的文件夹     */    public static void copy(File copyFile){        // 整合路径 "E"可以自行修改为其他        File toFile = new File("E"+copyFile.getAbsolutePath().substring(1));        // 先创建文件夹        toFile.mkdirs();        File[] files = copyFile.listFiles();         for (File file : files) {            if (file.isFile()) {                // 复制文件                copyFiles(file,toFile.getAbsolutePath()+"\\"+file.getName());            } else if (file.isDirectory()) {                // 是文件夹 递归                copy(file);            }        }       }    /**     * 复制一个文件到指定位置     * @param copyfile 要复制的文件     * @param toadress 复制后的文件要存放的路径     */    public static void copyFiles(File copyfile,String toadress){        FileInputStream fis = null;        FileOutputStream fos = null;//      System.out.println(copyadress);//      System.out.println(toadress);        try {            fis = new FileInputStream(copyfile.getAbsolutePath());            fos = new FileOutputStream(toadress,true);            // 避免冗余            byte[] bytes = new byte[(int) copyfile.length()];            fis.read(bytes);            fos.write(bytes);        } catch (Exception e) {            System.out.println("文件复制有误!");        }finally {            try {                fos.close();                fis.close();            } catch (IOException e) {                e.printStackTrace();            }        }    }}
阅读全文
1 0
原创粉丝点击