黑马程序员技术交流社区
标题:
JAVA基础IO复制指定目录的所有文件加文件夹到指定目录
[打印本页]
作者:
hmilys9265
时间:
2015-7-30 00:00
标题:
JAVA基础IO复制指定目录的所有文件加文件夹到指定目录
package Tool;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Scanner;
public class CopyTool {
static String lujing=null;
public static void main(String[] args) throws IOException{
System.out.println("请指定源文件路径");
Scanner sc=new Scanner(System.in);
String s=sc.nextLine();
System.out.println("请指定目标路径");
lujing=sc.nextLine();
File file=new File(s);
long start=System.currentTimeMillis();
Diguicopy1(file);
long end=System.currentTimeMillis();
System.out.println("全部copy成功,用时:"+(end-start)/1000+"秒");
}
//用于copy指定目录下的所有文件到指定目录
public static void Diguicopy1(File file) throws IOException{
File[] srcFile=file.listFiles();
if(srcFile!=null){
for (File file2 : srcFile) {
//判断获取的是否为目录
if(file2.isDirectory()){
//是目录就递归
Diguicopy1(file2);
//判断文件的后缀是否为java结尾
}else {
String newPath=file2.getParent().substring(2);
//指定目的路径
File newFile=new File(lujing+newPath);
//System.out.println();
if(!newFile.exists())
newFile.mkdirs();
//封装数据源
BufferedInputStream bis=new BufferedInputStream(new FileInputStream(file2));
//指定数据源
BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream(newFile+file2.getName()));
//定义数组
byte[] chs=new byte[1024*100];
int len=0;
while((len=bis.read(chs))!=-1){
bos.write(chs, 0, len);
}
bos.close();
bis.close();
}
}
}
}
// "E:\\新建"E:\\sb\\java
}
复制代码
作者:
hmilys9265
时间:
2015-7-30 00:01
思路不是很清晰,打的有点乱
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2