黑马程序员技术交流社区
标题:
io题,求大神正解
[打印本页]
作者:
SunCowbee
时间:
2016-9-11 00:41
标题:
io题,求大神正解
1.从键盘接收两个文件夹路径,把其中一个文件夹中(包含内容)拷贝到另一个文件夹中
作者:
13411939415
时间:
2016-9-11 09:25
public static void copyDir(File f1,File f2) throws IOException {
File[] arr1 = f1.listFiles();
for (File file1 : arr1) {
if(file1.isFile()) {
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file1));
BufferedOutputStream bos =
new BufferedOutputStream(new FileOutputStream(new File(f2,file1.getName())));
int b;
while((b = bis.read()) != -1) {
bos.write(b);
}
bis.close();
bos.close();
}else if(file1.isDirectory()) {
File file2 = new File(f2,file1.getName());
file2.mkdir();
copyDir(file1,file2);
}
}
}
作者:
kangnam
时间:
2016-9-11 09:27
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();
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2