黑马程序员技术交流社区

标题: 为什么不能创建成功?请指点! [打印本页]

作者: NO?    时间: 2014-4-4 08:59
标题: 为什么不能创建成功?请指点!
import java.io.File;
import java.io.IOException;
public class Tesg {
        public static void main(String[] args) throws IOException {
                File file = new File("G:\\come");
                copy(file);
        }
        public static void copy(File file) throws IOException {
                System.out.println("ahh");
                File[] fi = file.listFiles();
                for (File fil : fi) {
                        if (fil.exists() && !fil.isHidden() && fil.isFile()) {
                                File f = new File("E" + fil.getAbsolutePath().substring(1));
                                System.out.println(f.createNewFile());
                        } else if (fil.exists() && !fil.isHidden() && fil.isDirectory()) {
                                copy(fil);
                                File f = new File("E" + fil.getAbsolutePath().substring(1));
                                System.out.println(f.mkdirs());
                                System.out.println("E" + fil.getAbsolutePath().substring(1));
                        }
                }
        }
}
错误提示是:Exception in thread "main" java.lang.NullPointerException!求高人指点



作者: osully    时间: 2014-4-4 12:59
把 copy()移下去就好了
只不过 你这是创建了一个名字一样的空文件,没有实现复制

  1. import java.io.File;
  2. import java.io.IOException;

  3. public class Tesg {
  4.         public static void main(String[] args) throws IOException {
  5.                 File file = new File("D:\\myjava\\myself");
  6.                 copy(file);
  7.         }

  8.         public static void copy(File file) throws IOException {
  9.                 System.out.println("ahh");
  10.                 File[] fi = file.listFiles();
  11.                 for (File fil : fi) {
  12.                         if (fil.exists() && !fil.isHidden() && fil.isFile()) {
  13.                                 File f = new File("E" + fil.getAbsolutePath().substring(1));
  14.                                 System.out.println(f.createNewFile());
  15.                         }
  16.                         else if (fil.exists() && !fil.isHidden() && fil.isDirectory()) {
  17.                                 File f = new File("E" + fil.getAbsolutePath().substring(1));
  18.                                 System.out.println(f.mkdirs());
  19.                                 System.out.println("E" + fil.getAbsolutePath().substring(1));
  20.                                 [color=Red]copy(fil);[/color]
  21.                         }
  22.                 }
  23.         }
  24. }
复制代码





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