搜索父文件的所有文件(以及父文件中的所有其他文件)JAVA

时间:2013-01-27 01:15:15

标签: java file

我正在尝试获取jar的父文件夹,并一直搜索它。原因是我正在修改构建路径上jar下面的所有.class文件(它下面有一堆罐子)。

我目前在searchForClasses方法的dir.listFiles()上获得了一个NPE,原因是当我创建一个新的文件实例时,它不是正确的路径。 (我相信)

我目前有这个:

    public void searchForClasses(File dir) {
    for (File f : dir.listFiles()) {
        if (f.getName().endsWith(".class")) {
            for (byte[] bytes : NMSversions)
                fix(f.getAbsolutePath(), bytes, NMS);
            for (byte[] bytes : OBCversions)
                fix(f.getAbsolutePath(), bytes, OBC);
            System.out.println("fixing");
        } else {
            searchForClasses(f);
        }
    }
}

这就是我用来尝试获取父文件的内容:

        File directory = new File(Main.class.getProtectionDomain().getCodeSource().getLocation().getPath());
    main.searchForClasses(directory);

有没有人对我可以切换的内容有任何想法?

1 个答案:

答案 0 :(得分:0)

File.listFiles()可以返回null。见Javadoc。你没有检查。