Java IO实现文件(及文件夹)的复制 原创代码【精】

单个文件复制

		FileInputStream input=new FileInputStream("C://360//fay.jpg");
        FileOutputStream output=new FileOutputStream("D://Test//fay2.jpg");
        //读取文件内容
        byte[] bytes=new byte[6];
        int sum=0;
        while (input.read(bytes)==bytes.length){
            output.write(bytes);
            sum++;
        }
        output.write(bytes);
        System.out.println(sum);
        input.close();
        output.close();

整个文件夹(包含文件夹中的所有内容)复制

import java.io.*;

public class Homework2 {
    public static void main(String[] args) throws IOException {
        String path="D:\Copy";            \复制到哪个路径(path)中
        File file=new File("D:\Test");
        copyAll(file,path);

    }
    //复制文件
    public static void copy(File f,String path) throws IOException {
        FileInputStream in = new FileInputStream(f);
        FileOutputStream out = new FileOutputStream(path+f.getName());
        byte[] bytes=new byte[512];
        while ((in.read(bytes))!=-1){
            out.write(bytes,0,bytes.length);
        }
    }
    public static void copyAll(File file,String path) throws IOException {
        File outFile=new File(path);
        outFile.mkdirs();//创建文件夹,如果文件夹已存在则创建失败返回false

        File[] filelists=file.listFiles();
        for (File f:filelists) {
            if(f.isFile()){//如果是文件就复制文件
                copy(f,path+File.separator);
            }else {//如果是文件夹,就创建文件夹,并复制文件,这就是copyAll()的功能,所以用递归
                copyAll(f,outFile.getPath()+File.separator+f.getName());
            }
        }
    }
}

原文地址:https://www.cnblogs.com/BIG-BOSS-ZC/p/11807350.html