复制文件

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();

}

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容