您的位置:首页 > 编程语言 > Java开发

java复制文件夹及所有子目录和文件

2016-01-12 19:16 399 查看
package text;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintStream;

public class fileCopy {

public static void main(String[] args) throws IOException {
copy("G:/test","E:/test");
System.out.println("复制成功!");
}

private static void copy(String f1, String f2) throws IOException {
File file1=new File(f1);
/*     File file2=new File(f2);*/

File[] flist=file1.listFiles();
for (File f : flist) {
if(f.isFile()){
copyFile2(f.getPath(),f2+"/"+f.getName()); //调用复制文件的方法
System.out.println("原路径["+f.getPath()+"] 被复制路径["+f2+"/"+f.getName()+"]");
}else if(f.isDirectory()){
copyFile1(f.getPath(),f2+"/"+f.getName()); //调用复制文件夹的方法
System.out.println("原路径["+f.getPath()+"] 被复制路径["+f2+"/"+f.getName()+"]");
}
}
}

/**
* 复制文件夹
* @throws IOException
*/
public static void copyFile1(String f1,String f2) throws IOException{
//创建文件夹
File file=new File(f2);
if(!file.exists()){
file.mkdirs();
}
copy(f1,f2);
}

/**
* 复制文件
* @throws IOException
*/
public static void copyFile2(String f1, String f2) throws IOException {
try {
InputStream input =new FileInputStream(f1);
OutputStream output=new FileOutputStream(f2);
byte[] bt=new byte[1024];
if((input!=null)&&(output!=null)){
while((input.read(bt))!=(-1)){
output.write(bt,0,bt.length);
}
}
input.close();
output.close();

} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: