Java复制某个文件夹所有内容到另一文件夹-temp文件夹

Java复制某个文件夹所有内容到另一文件夹-temp文件夹

package test;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

public class Test {

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

//复制C盘文件到D盘

String sourcePath = "C:/test";

String newPath = "D:/aaa";

Test.copyDir(sourcePath, newPath);

}

//复制文件夹

public static void copyDir(String sourcePath,String newPath) throws IOException{

(new File(newPath)).mkdirs();

//与mkdir()都创建文件夹 ,mkdirs()如果父文件夹不存在也会创建

File fileList = new File(sourcePath);

String[] strName = fileList.list();

//File[] filelistObj = fileList.listFiles();用这个后面需要.getName();

File temp = null;//游标

for (int i = 0; i < strName.length; i++) {

//如果源文件路径以分隔符File.separator /或者\结尾那就sourcePath

if (sourcePath.endsWith(File.separator)) {

temp = new File(sourcePath+strName[i]);

}else{

temp = new File(sourcePath+File.separator+strName[i]);

}

if(temp.isFile()){

//如果游标遇到文件

FileInputStream in = new FileInputStream(temp);

//复制且改名

File file = new File(newPath+"/"+temp.getName().toString());

FileOutputStream out = new FileOutputStream(file);

byte[] buffer = new byte[1024*8];

int length;

while((length = in.read(buffer))!=-1){

out.write(buffer, 0, length);

}

out.flush();

out.close();

in.close();

}

//如果游标遇到文件夹

if(temp.isDirectory()){

copyDir(sourcePath+"/"+strName[i],newPath+"/"+strName[i]);

}

}

}

}

推荐阅读