0

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

我目前在 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);

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

4

1 回答 1

0

File.listFiles() 可以返回 null。请参阅 Javadoc。你不是在检查那个。

于 2013-01-27T01:19:51.780 回答