黑马程序员技术交流社区

标题: 关于将D盘封装 [打印本页]

作者: 黑马陈旭东    时间: 2012-7-18 15:30
标题: 关于将D盘封装
public static void main(String[] args) throws IOException {
  
  File dir= new File("D:\\"); //我想将D盘封装成对象遍历里面所有的文件。但是会报出空指针异常!这是怎么回事?
//但是我将D盘一个目录封装就没有事!就解
   
  FileterBySuffix fileter = new FileterBySuffix(".java");
  //创建一个接受文件的文件夹
  File dire = new File("e:\\jad");
   if (!dire.exists()) {
    dire.mkdir();
   }
  getFile(dir,fileter,dire);

}

作者: 孙新强    时间: 2012-7-18 16:00
首先 这样封装是没有任何问题的
想问一下 你是不是准备遍历d盘所有文件  然后判断.java结尾的文件  然后再把它取出放到c盘啊

如果是的话 你那样写程序是不行的
FileterBySuffix fileter = new FileterBySuffix(".java");
你通过这样new一个对象能遍历d盘中的文件吗  
封装及白努力d盘文件修改如下:
public static void main(String[] args) throws IOException {
  
  File dir= new File("D:\\");
}
private static void checkFiles(File srcDir, File destDir)throws Exception{
          if (!srcDir.exists()) {                             // 测试此抽象路径名表示的文件或目录是否存在
            throw new RuntimeException("文件不存在,请重新输入!");
             }
          else if (srcDir.isDirectory()){
            File[] files = srcDir.listFiles();
            if (files != null){
            for (File file : files){                         // 对数组进行遍历
              checkFiles(file, destDir);
              }
            }
            }
          else if (srcDir.getName().endsWith(".java")) {
            copyFiles(srcDir, destDir);  //  下面你再把这个copyfile方法写一下 就能完成复制了
          }
        }






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