复制所有该文件下的文件,为什么会报错

haizhi1 2016-12-06 10:57:06
private static void copyFile(File file,File file1) throws IOException {
File[] lf = file.listFiles();
for (File file2 : lf) {
if (file2.isFile()&&file2.toString().endsWith(".java")) {
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file2.getAbsoluteFile()));
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(file1.getAbsoluteFile()+"\\"+file2.getName()));
byte[] arr = new byte[1024*9];
int bin;
while ((bin = bis.read(arr))!=-1) {
bos.write(arr,0,bin);
}
bis.close();
bos.close();
System.out.println("文件"+file2.getName()+"已复制");
}else if (file2.isDirectory()) {

copyFile(file2,file1);
}
}
}
Exception in thread "main" java.lang.NullPointerException
at com.wengjia.Demo2.copyFile(Demo2.java:19)
at com.wengjia.Demo2.copyFile(Demo2.java:38)
at com.wengjia.Demo2.main(Demo2.java:15)
...全文
274 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
haizhi1 2016-12-08
  • 打赏
  • 举报
回复
引用 1 楼 技术工兵的回复:
目标文件夹没有创建。需要加上创建文件夹的代码
我已经找到了问题,但不知道是什么原因,求大神解惑
haizhi1 2016-12-08
  • 打赏
  • 举报
回复
已找到问题,当文件不可访问时,File[] lf = file.listFiles();会返回null,然后执行增强for是会报空指针异常.
  • 打赏
  • 举报
回复
把c盘换成其他盘试试,c盘中有些隐藏文件或是没权限访问的文件
haizhi1 2016-12-07
  • 打赏
  • 举报
回复
请输入源文件夹路径 c:\ 文件夹路径输入正确已返回 请输入目标文件夹路径 F:\0\1 文件夹路径输入正确已返回 文件LicenseAgreement.txt已复制 Exception in thread "main" java.io.FileNotFoundException: c:\5774b6b1b9b1368f32c4e39b37721a9e\Windows6.1-KB2584146-x64-pkgProperties.txt (拒绝访问。) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.<init>(FileInputStream.java:146) at com.wengjia.Demo2.copyFile(Demo2.java:28) at com.wengjia.Demo2.copyFile(Demo2.java:40) at com.wengjia.Demo2.main(Demo2.java:15) 加了创建文件夹后又爆出不可访问异常,求大神指教
月明星稀灬 2016-12-07
  • 打赏
  • 举报
回复
异常信息,明明白白给你提出哪一行代码空指针,你DEBUG看看它为什么空指针,就能解决了。
ryuugu_rena 2016-12-07
  • 打赏
  • 举报
回复
NullPointerException 空指针异常
什么都不能 2016-12-07
  • 打赏
  • 举报
回复
要先判断目录,不存在就要创建 if(!dir.exists()) mkDir(dir);
abc优希 2016-12-06
  • 打赏
  • 举报
回复
目标文件夹没有创建。需要加上创建文件夹的代码

62,626

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧