A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© aion2013tian 中级黑马   /  2013-11-29 22:16  /  1245 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

eclipse报错如下:Exception in thread "main" java.io.FileNotFoundException: C:\axaa (拒绝访问。)如果只是拷贝文件就可以,拷贝文件夹就不行,代码如下:

public class MainClass {
public static void main(String[] args) throws Exception {
findAndCopyPics("C:\\Users\\Administrator\\Desktop\\370to470");
}

public static void findAndCopyPics(String path) throws Exception {
File file = new File(path);
if (!file.isDirectory())
return;
File[] listFiles = file.listFiles();
for (File f : listFiles) {
if (f.isDirectory()) {// 是文件夹就递归
findAndCopyPics(path + "\\" + f.getName());
} else {// 不是文件夹,即是文件就拷备
copyPics(path + "\\" + f.getName());
}
}
}

public static void copyPics(String path) throws Exception {
File inputfile = new File(path);
File outputfile = new File("C:\\axaa\\");// 输出的文件夹.
System.out.println(path);
FileInputStream fis = new FileInputStream(inputfile);
FileOutputStream fos = new FileOutputStream(outputfile);
byte[] b = new byte[1024];
while (fis.read(b) > 0) {
fos.write(b);
}
fis.close();
fos.close();
}
fos.close();
}

评分

参与人数 1技术分 +1 收起 理由
简★零度 + 1 淡定

查看全部评分

3 个回复

倒序浏览
本帖最后由 陪你等日出 于 2013-11-29 23:22 编辑

你是想拷贝文件夹,但是在你的代码里却没有mkdir()这个方法,如果不用这个方法创建文件夹那么你把复制的文件放在哪里的呢?
回复 使用道具 举报
哥们你的代码太.....  建议以后贴的容易复制点呀{:soso_e127:}
我整理了好久,还是给你改了下
  1. import java.io.*;
  2. class MainClass {
  3. public static void main(String[] args) throws Exception
  4. {
  5.         //假设你把E盘下“aaa”这个文件夹给拷贝到E盘并命名为copyfile
  6.         findAndCopyPics("E:\\aaa",
  7.                 "E:\\copyfile");
  8. }

  9. public static void findAndCopyPics(String fpath,String dpath) throws Exception
  10. {
  11.         File file = new File(fpath);
  12.         if (file.isDirectory())
  13.         {
  14.                 File copyfile = new File(dpath);
  15.                 copyfile.mkdirs();
  16.         }
  17.         File[] listFiles = file.listFiles();
  18.         for (File f : listFiles) {
  19.         if (f.isDirectory())
  20.         {
  21.                 // 是文件夹就递归
  22.                 findAndCopyPics(fpath + "\\" + f.getName(),dpath+"\\"+f.getName());
  23.         }
  24.         else
  25.         {
  26.                 // 不是文件夹,即是文件就拷备
  27.                 copyPics(fpath + "\\" + f.getName(),dpath+"\\"+f.getName());
  28.         }
  29. }
  30. }

  31. public static void copyPics(String fpath,String dpath) throws Exception
  32. {
  33.         //File inputfile = new File(fpath);
  34.         //File outputfile = new File(dpath);// 输出的文件夹.
  35.         //System.out.println(path);
  36.         //FileInputStream fis = new FileInputStream(inputfile);
  37.         FileInputStream fis = new FileInputStream(fpath);
  38.         //FileOutputStream fos = new FileOutputStream(outputfile);
  39.         FileOutputStream fos = new FileOutputStream(dpath);
  40.         byte[] b = new byte[1024];
  41.         int len = 0;
  42.         while ((len=fis.read(b))!=-1)
  43.         {
  44.                 fos.write(b,0,len);
  45.         }
  46.         fis.close();
  47.         fos.close();
  48.         }
  49. }
复制代码

有的地方我改了,把你的源码注释了

评分

参与人数 1技术分 +1 收起 理由
简★零度 + 1 很给力!

查看全部评分

回复 使用道具 举报
陪你等日出 发表于 2013-11-29 23:51
哥们你的代码太.....  建议以后贴的容易复制点呀
我整理了好久,还是给你改了下

谢谢,弄明白了啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马