import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
public class CopyFolder {
private long total = 0l;
public static void main(String[] args) {
try {
//源目录
String srcStr = "d:\\im";
//目标目录
String destStr = "d:\\ims";
File src = new File(srcStr);
File des = new File(destStr);
new CopyFolder().copyFolder(src, des);
} catch (Exception e) {
e.printStackTrace();
}
}
public void copyFolder(File srcFolder,File destFolder) throws Exception
{
File[] files = srcFolder.listFiles();
for (File file : files)
{
if(file.isFile())
{
String pathname = destFolder+File.separator+file.getName();
File dest = new File(pathname);
File destPar = dest.getParentFile();
destPar.mkdirs();
if(!dest.exists())
{
dest.createNewFile();
}
copyFile(file, dest);
}else{
copyFolder(file, destFolder);
}
}
}
/***
* copy file
*
* @param src 源目录
* @param dest 目标目录
*/
private void copyFile(File src, File dest) throws Exception {
BufferedInputStream reader = null;
BufferedOutputStream writer = null;
try {
reader = new BufferedInputStream(new FileInputStream(src));
writer = new BufferedOutputStream(new FileOutputStream(dest));
byte[] buff = new byte[reader.available()];
while ((reader.read(buff)) != -1) {
writer.write(buff);
}
total++;
String temp = "\ncopy:\n"+src+"\tsize:"+src.length()+"\nto:\n"+dest+"\tsize:"+dest.length()+"\n complate\n totoal:"+total;
System.out.println(temp);
} catch (Exception e) {
throw e;
} finally {
writer.flush();
writer.close();
reader.close();
}
}
}
java遍历文件夹支付至文件到指定目录
最新推荐文章于 2021-07-23 12:03:55 发布