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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© NO? 中级黑马   /  2014-4-4 08:59  /  939 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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!求高人指点


1 个回复

倒序浏览
把 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. }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马