package com.yushang.io;
import java.io.*;
public class Copy {
public void copyFile(File file, String filepath) {
//D:\Test--->F:\aaa
//拼接新的文件路径
String newFilepath = filepath + file.getAbsolutePath().split(":")[1];
//创建新文件的File对象
File newFile = new File(newFilepath);
//获取原文件下的所有子文件的File对象
File[] files = file.listFiles();
//判断是不是文件夹,如果是文件夹那么就创建文件夹,如果文件夹里还有东西,那么就递归,调用自己
//如果是文件,那么就复制文件
if (files != null) {//是文件夹
newFile.mkdir();//创建文件夹
if (files.length != 0) {//是有东西的文件夹
for (File subFile : files) {//遍历原文件夹下的东西(可能是文件夹、空文件夹或文件),递归
copyFile(subFile, filepath);
}
}
} else {//是文件,复制文件
InputStream is = null;
OutputStream os = null;
try {
is = new FileInputStream(file);
os = new FileOutputStream(newFile);
int len;
byte[] b = new byte[1024];
while ((len = is.read(b)) != -1) {
os.write(b, 0, len);
os.flush();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (is != null) {
is.close();
}
} catch (IOException e) {
e.printStackTrace();
}
try {
if (os != null) {
os.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
Java文档复制
最新推荐文章于 2023-03-26 23:17:57 发布