黑马程序员技术交流社区
标题:
求助大神,复制文件夹问题
[打印本页]
作者:
zwy1174
时间:
2016-9-10 22:44
标题:
求助大神,复制文件夹问题
复制的跟原来的的源文件夹不一样
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.Scanner;
/*
* 1.从键盘接收两个文件夹路径,把其中一个文件夹中(包含内容)拷贝到另一个文件夹中
*/
public class demo01 {
static File file = new File(new Scanner(System.in).nextLine());
static File file2 = new File(new Scanner(System.in).nextLine());
public static void main(String[] args) throws Exception {
function(file);
}
public static void function(File file) throws Exception{
File newdir = new File(file2,file.getName());
newdir.mkdirs();
for (File f : file.listFiles()) {
if (f.isDirectory()) {
function(f);
}else{
FileInputStream fis = new FileInputStream(f);
FileOutputStream fos = new FileOutputStream(new File(newdir,f.getName()));
int len = 0;
byte[] by = new byte[1024];
while( (len = fis.read() ) != -1 ){
fos.write(by,0,len);
}
fis.close();
//System.out.println("搞定");
}
}
}
}
作者:
kangnam
时间:
2016-9-10 23:06
public static void main(String[] args) throws IOException {
Scanner sc =new Scanner(System.in);
System.out.println("请输入要拷贝的文件夹路径:");
String line1 = sc.nextLine();
System.out.println("请输入 接受文件夹的路径:");
String line2 = sc.nextLine();
File file1 =new File(line1);
File file2=new File(line2);
//复制文件夹的功能
copyFolder(file1,file2);
}
private static void copyFolder(File file1, File file2) throws IOException {
//判断File1是文件夹还是文件
if(file1.isDirectory()){
//是文件,先在目的地创建文件夹
File newFolder =new File(file2,file1.getName());
newFolder.mkdir();
//获取该File对象下的所有或者文件夹File对象
File[] fileArray =file1.listFiles();
for (File file : fileArray) {
copyFolder(file,newFolder);
}
}else{
//文件
File file3 =new File(file2,file1.getName());
copyFile(file1,file3);
}
}
private static void copyFile(File file1, File file3) throws IOException {
BufferedInputStream bis =new BufferedInputStream(new FileInputStream(file1));
BufferedOutputStream bos =new BufferedOutputStream(new FileOutputStream(file3));
byte[] a =new byte[1024];
int b ;
while((b=bis.read(a))!=-1){
bos.write(a, 0, b);
}
bis.close();
bos.close();
}
作者:
梦想的小草
时间:
2016-9-10 23:22
啥问题?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2