import java.io.*;
public class CopyDirectoryTest {
public static void main(String[] args) {
long startTime=System.currentTimeMillis();
File src=new File("Z:/Edge download");//需要拷贝的目标目录
//System.out.println(src.getAbsolutePath());
File term=new File("C:/Edge download");//需要粘贴的目录位置
copyDirectory(src,term);
long endTime=System.currentTimeMillis();
System.out.println("总用时:"+(endTime-startTime)+"毫秒");
}
public static void copyDirectory(File srcDir,File termDir){
termDir.mkdir();
if (srcDir.listFiles().length==0) return;
File temp=null;
for (File file:
srcDir.listFiles()) {
if (file.isDirectory()){
temp=new File(termDir.getAbsoluteFile()+"/"+file.getName());
temp.mkdir();
copyDirectory(file,temp);
}else if(file.isFile()){
temp=new File(termDir.getAbsoluteFile()+"/"+file.getName());
copy(file.getAbsolutePath(),temp.getAbsolutePath());
}else return;
}
}
public static void copy(String srcName,String termName){//文件拷贝
FileInputStream in=null;
FileOutputStream out=null;
try {
in=new FileInputStream(srcName);
out=new FileOutputStream(termName);
byte[] bytes=new byte[1024*1024];
int readCount=0;
while((readCount=in.read(bytes))!=-1){
out.write(bytes,0,readCount);
}
out.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if(in!=null){
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(out!=null){
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
【Java字符流和文件类实现目录拷贝】
最新推荐文章于 2023-03-22 22:04:36 发布