java-通过IO流复制文件夹到指定目录
Posted M_x_j
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java-通过IO流复制文件夹到指定目录相关的知识,希望对你有一定的参考价值。
public class copyDirectoryDemo {
public static void main(String[] args) {
File srcFolder = new File("C:\Users\MA\Desktop\IOtest");
File destFolder = new File("C:\Users\MA\Desktop\IOtest\test");
fun(srcFolder, destFolder);
}
public static void fun(File srcFolder, File destFolder) {
File[] fileArray = srcFolder.listFiles();
if (!destFolder.exists()) {
destFolder.mkdir();
}
for (File file : fileArray) {
if (file.isDirectory()) {
String folderName = file.getName();
File newDestFolder = new File(destFolder, folderName);
fun(file, newDestFolder);
} else {
String fileName = file.getName();
File destFile = new File(destFolder, fileName);
copy(file, destFile);
}
}
}
public static void copy(File file, File destFile) {
BufferedInputStream bis = null;
BufferedOutputStream bos = null;
try {
bis = new BufferedInputStream(new FileInputStream(file));
bos = new BufferedOutputStream(new FileOutputStream(destFile));
byte[] bys = new byte[1024];
int len = 0;
while((len=bis.read(bys))!=-1){
bos.write(bys,0,len);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}catch (IOException e){
e.printStackTrace();
}finally{
if(bis!=null){
try {
bis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(bos!=null){
try {
bos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
以上是关于java-通过IO流复制文件夹到指定目录的主要内容,如果未能解决你的问题,请参考以下文章