(java)帮忙看看这个程序的错误 ,提示 FileNotFoundException ,帮忙描述一下关键位置就更好了

packagecom.itheima.exam;importjava.io.*;/***建一个FileCopy类,用返回布尔类型来判定复制情况*中间有一个for循环来实现... package com.itheima.exam;
import java.io.*;
/**
* 建一个FileCopy类 , 用返回布尔类型来判定复制情况
* 中间有一个for循环来实现对源文件的遍历;
* 用到的方法有 .exists()判定存在状况 ;getAbsolutePath()来获取 文件的路径
* */
public class TestCopy {
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
FileCopy file = new FileCopy();
file.Copy("D:\\myhelp","E:\\AB");
}
}
class FileCopy{
public boolean Copy(String file3 ,String file4) throws Exception{
File in = new File(file3) ;
File out = new File(file4);
if(!(in.exists())){
System.out.println(in.getAbsolutePath()+"不存在");
}else{
System.out.println("源路径"+in.getAbsolutePath());
System.out.println("目标路径"+out.getAbsolutePath());
}
if(out.exists())
out.mkdirs();
File[] file = in.listFiles();
FileInputStream fis = null ;
FileOutputStream fos = null;
for(int i = 0 ;i<file.length ;i++){
if(file[i].isFile()){
fis = new FileInputStream(file[i]);
System.out.println( "in.name="+ file[i].getName());
fos = new FileOutputStream(new File(file4+"/"+file[i].getName()));
System.out.println(file4);
int c = 0;
byte[] xx =new byte[1024*5];
while((c=fis.read(xx))!=-1){
fos.write(xx ,0 ,c);
System.out.println("复制文件中");
}
fis.close();
fos.flush();
fos.close();
return true ;
}else
Copy(file3+"/"+file[i].getName(),file4+"/"+file[i].getName());
}
return false ;
}
}
展开
 我来答
匿名用户
推荐于2016-09-01
展开全部
if(out.exists()) out.mkdirs(); 仔细这句话,如果存在输出的文件夹,那么就创建,如果不存在,就不创建。这里是逻辑错误,导致后面程序输出时找不到输出的文件夹。可改为
if(!(out.exists())) out.mkdirs(); 还有 具体的复制实现功能有问题。这个自己仔细查看下
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
友容殊1
2014-09-28 · TA获得超过107个赞
知道小有建树答主
回答量:331
采纳率:0%
帮助的人:147万
展开全部
文件流操作。java后台代码报错应该看得懂。。。不是很厉害的大神,没看到错误的截图不好看。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式