Java获取包中的所有文件

Java获取包中的所有文件,java,Java,我尝试使用以下代码获取Java包中的所有文件: public static ArrayList<String> getThemes() { ArrayList<String> themes = new ArrayList<>(); File folder = new File(Main.class.getResource("fxml/").toString()); for (File file : folder.li

我尝试使用以下代码获取Java包中的所有文件:

public static ArrayList<String> getThemes() {
        ArrayList<String> themes = new ArrayList<>();

    File folder = new File(Main.class.getResource("fxml/").toString());

        for (File file : folder.listFiles()) {
            if (file.getName().endsWith(".css"))
                themes.add(file.getName().replaceFirst("[.][^.]+$", ""));
        }

    return themes;
}
publicstaticarraylistgetthemes(){
ArrayList主题=新建ArrayList();
File folder=新文件(Main.class.getResource(“fxml/”).toString());
对于(文件:folder.listFiles()){
if(file.getName().endsWith(“.css”))
themes.add(file.getName().replaceFirst(“[.][^.]+$”,”);
}
返回主题;
}
这段代码应该给我一个名为
fxml
(Full:
dev.thetechnokid.rw.fxml
)的包中所有css文件的数组列表

我使用了许多其他不同的方法,包括使用当前目录和完整的文件路径,但它仍然提供了一个
NullPointerException
。堆栈跟踪没有提供足够的信息,只有FXML
LoadException


这段代码有什么问题?

我很确定Class.getResource()只检测文件,而不是文件夹 我很确定Class.getResource()只检测文件,而不是文件夹 尝试使用
getFile
而不是
toString


File folder=新文件(Main.class.getResource(“fxml/”).getFile())

尝试使用
getFile
而不是
toString

File folder=新文件(Main.class.getResource(“fxml/”).getFile())

我建议:

URL packageURL;
packageURL = classLoader.getResource("fxml/"); 
URI uri = new URI(packageURL.toString());
File folder = new File(uri.getPath());
我建议:

URL packageURL;
packageURL = classLoader.getResource("fxml/"); 
URI uri = new URI(packageURL.toString());
File folder = new File(uri.getPath());

Main.class的哪个包?Main.class的哪个包?
class.getResource()
可以检测文件夹
Path.get(“fxml”)
我认为它不起作用,因为它依赖于DefaultFileSystem@Jerry06第一部分你是对的,但我看不出依赖默认文件系统有什么不对谢谢!第一个由于某种原因给了我一个错误,但第二个运行得很好。
Class.getResource()
可以检测文件夹,
Path.get(“fxml”)
我认为它不工作,因为它依赖于DefaultFileSystem@Jerry06第一部分你是对的,但是我看不出依赖默认文件系统有什么问题谢谢!由于某种原因,第一个给了我一个错误,但是第二个工作得很好。
URL packageURL;
packageURL = classLoader.getResource("fxml/"); 
URI uri = new URI(packageURL.toString());
File folder = new File(uri.getPath());