黑马程序员技术交流社区

标题: 怎么读取失败了?File类不能直接读取文件夹吗? [打印本页]

作者: 阿彪    时间: 2013-4-26 21:08
标题: 怎么读取失败了?File类不能直接读取文件夹吗?
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
class  FileDemo
{
        public static void main(String[] args)throws IOException
        {
                /*
                D:\name 复制到e:\\OK
       
                */
        //封装指定目录
        File file = new File("D:\\name==============");
        //file.setExecutable(true);
        //目击地:
        File aim = new File("e:\\OK");
        if(!aim.exists()){
                aim.mkdir();
        }
        //获取所有文件对象
        File[] list = file.listFiles();
        //遍历
        for(File f : list){
                //判断是否为文件夹
                if(f.isDirectory()){
                        //获取到当前文件名字。
                        //把当前目录和目击地包装起来 ,  进行传递复制
                        File newFile = new File(aim,f.getName());
                        //传递包装的路径 ,和f  获取文件夹
                        System.out.println(newFile);
                        copyFile(f,newFile);
                }
        }
        }
        //复制
        public static void copyFile(File f,File newFile)throws IOException{
                //数据源---读
                FileInputStream fis = new FileInputStream(f);
                //目击的--写
                FileOutputStream fos = new FileOutputStream(newFile);
                //读取数据
                byte[] by = new byte[1024];
                int len = 0;
                while((len = fis.read(by))!=-1){
                        //写入数据
                        fos.write(len);
                        fos.flush();
                }
                //释放资源
                fos.close();
                fis.close();
        }
}结果:
e:\OK\新建文件夹
Exception in thread "main" java.io.FileNotFoundException: D:\name==============\新建文件夹 (拒绝访问
。)
        at java.io.FileInputStream.open(Native Method)
        at java.io.FileInputStream.<init>(FileInputStream.java:138)
        at FileDemo.copyFile(FileDemo.java:39)
        at FileDemo.main(FileDemo.java:32)
作者: 刘沛霞    时间: 2013-5-2 09:13
你这个异常是没有找到文件,你得先创建相应的文件目录。创建目录用 mkdir() 方法。创建文件时用createNewFile() 。
作者: 曹睿翔    时间: 2013-5-4 06:56

如果仍有问题,请继续追问,如果问题已解决,请将分类改为已解决,谢谢




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2