java如何实现复制文件

版权声明:未经博主同意,禁止转载,联系方式qq2928013321 https://blog.csdn.net/weixin_42130471/article/details/83118916
package copyfile;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

import org.omg.CORBA.portable.InputStream;

public class copyfile {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		copyfolder("e:/A","e:/B");//将A文件夹复制到B文件夹,B可以是不存在的文件夹
	}

    //复制文件夹
	public static void copyfolder(String sourcefolderName,String destfolderName) {
		File sourcefolder=new File(sourcefolderName);
		if(!sourcefolder.exists()) {
			System.out.println("原文件必须存在");
			return ;
		}
		File destfolder=new File(destfolderName);
		if(!destfolder.exists()) {
			destfolder.mkdir();
		}
		File[] files=sourcefolder.listFiles();
		for(File file:files) {
			System.out.println(file.getName());
			if(file.isDirectory()) {
				copyfolder(sourcefolder+"/"+file.getName(),
                           destfolderName+"/"+file.getName());
			}
			if(file.isFile()) {
				copyfile(sourcefolder+"/"+file.getName(),
                         destfolderName+"/"+file.getName());
			}
		}
	}
	public static void copyfile(String sourcefile,String destfile) {//复制文件
		BufferedInputStream bis=null;
		BufferedOutputStream bos=null;
		try {
			bis=new BufferedInputStream(new FileInputStream(new File(sourcefile)));
			bos=new BufferedOutputStream(new FileOutputStream(new File(destfile)));
			byte [] buf=new byte[1024];
			int len=bis.read(buf);
			while(len>0) {
				bos.write(buf,0,len);
				len=bis.read(buf);
			}
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		finally {
			try {
				if(bis!=null)
					bis.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			try {
				if(bos!=null)
					bos.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		
	}
}

猜你喜欢

转载自blog.csdn.net/weixin_42130471/article/details/83118916