复制文件

import java.io.BufferedInputStream;

import java.io.BufferedOutputStream;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

/**

* @author 作者 

* @version 创建时间:2019年8月2日 上午11:49:07

* 类说明

* 实现文件夹的拷贝-----多层子目录-多种类型的文件

*/

public class CopyTest {

public static void main(String[] args) throws IOException {

copy(new File("a"),new File("c"));

}

private static void copy(File file, File file2) throws IOException {

file2 = new File(file2, file.getName());

file2.mkdir();

File[] fs = file.listFiles();

if(fs==null) return;

for(File f:fs){

if (f.isDirectory()) {

copy(f, file2);

}else if(f.isFile()) copyFile(f,file2);

}

}

private static void copyFile(File file, File file2) throws IOException {

BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(new File(file2,file.getName())));

BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));

byte[] bs = new byte[1024];

int len;

while((len=bis.read(bs))!=-1){

bos.write(bs,0,len);

}

bis.close();

bos.close();

}

}

你可能感兴趣的:(复制文件)