学长,你好,也是这道题目,帮我看看,这个问题出在哪里,运行时异常说我
Exception in thread "main" java.io.FileNotFoundException: E:\kk (拒绝访问。)
代码是:
package com.haima.bean;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Scanner;
import javax.imageio.stream.FileImageInputStream;
public class Test3 {
/**
* @param args
* 从键盘接收两个文件夹路径,把其中一个文件夹中(包含内容)拷贝到另一个文件夹中
* 分析:
* 1.将键盘录入文件夹路径进行判断file1,file2
* 2.其中一个文件夹中的内容,进行遍历到字符数组中
* 3.通过字符数据,获取其的地址值,然后,对每一个数组中的内容,进行拷贝
* 4,拷贝到目标文件夹中
* 5.关流
* @throws IOException
*
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
System.out.println("请输入文件来源地址");
File file1 = getFile();
System.out.println("请输入文件目标地址");
File file2 = getFile();
copyFile(file1,file2);
}
//1.将键盘录入文件夹路径进行判断
public static File getFile(){
Scanner sc = new Scanner(System.in);
System.out.println("请输入文件夹路径");
String line = sc.nextLine();
while(true){
File file = new File(line);
if(!file.exists()){
System.out.println("请重新输入文件路径");
}else if(file.isFile()){
System.out.println("你输入的是文件路径,请重新输入");
}else {
return file;
}
}
}
public static File copyFile(File file1,File file2) throws IOException{
File [] subFile1 = file1.listFiles();
for (File file33 : subFile1) {
if(file33.isFile()){
BufferedInputStream fis = new BufferedInputStream(new FileInputStream(file33));
BufferedOutputStream fos = new BufferedOutputStream(new FileOutputStream(file2.getPath()));
int b;
while((b = fis.read()) != -1){
fos.write(b);
}
fis.close();
fos.close();
}else if(file33.isDirectory()){
return copyFile(file33,file2);
}
}
return file1;
}
} |
|