package test;
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.OutputStream;
public class iotest {
public static void filelist(File file,String mk_dir) throws IOException{
File[] files=file.listFiles();
if(files==null||files.length==0){
System.out.println(file+"没有子目录");
String nf=file.getAbsolutePath();
String param=nf.substring(2, nf.length());
File newfile=new File(mk_dir+param);
newfile.mkdirs();
}
if(files!=null){
for(File f1:files){
//生成目录
System.out.println("生成目录为:"+f1.getAbsolutePath());
//获取文件目录
String fil=f1.getAbsolutePath();
//截取获得目录前面的盘符
String param = fil.substring(2,fil.length());
//x新目录的生成位置
File fm=new File(mk_dir+param);
//创建目录
fm.mkdirs();
//判断是否是文件
if(f1.isFile()){
InputStream is=new FileInputStream(fil);
System.out.println("正在获取文件名字、。。。。");
String path=fil.substring(fil.lastIndexOf("\\")+1,fil.length());
System.out.println("文件名字为:"+path);
OutputStream ot=new FileOutputStream(fm+"\\"+path);
byte[] buf=new byte[1024];
int len=0;
System.out.println("正在复制。。。");
while((len=is.read(buf))!=-1){
ot.write(buf,0,len);
}
is.close();
ot.close();
}
filelist(f1, mk_dir);
}
}
}
public static void main(String[] args) throws IOException {
String mk_dir="F:/test111";
String mk_dirs[]={"E:/app"};
for(int i=0;i<mk_dirs.length;i++){
File f=new File(mk_dirs[i]);
filelist(f, mk_dir);
}
}
}
java实现目录复制(高速度)
最新推荐文章于 2022-08-05 13:36:33 发布