0

我将文件夹“profiles”(包含执行 JAR 时需要使用的语言配置文件)放入“resources”文件夹中。要阅读它,我会写:

URL langProfilesURL = ClassLoader.getSystemResource("resources/profiles");
File langProfilesDir = new File(langProfilesURL.toURI());

当我在 IDE 中运行时它工作正常:URL 是file:/D:/CODING/HappyState/bin/resources/profiles

但是当我执行 HappyState.jar 我得到:

java.lang.IllegalArgumentException: 

URL 是 jar:file:/D:/HappyState.jar!/resources/profiles

你能告诉我该怎么做才能正确阅读“个人资料”文件夹吗?非常感谢!

4

1 回答 1

0

改用Class.getResource()方法。这可以处理所有情况,无论该项目是在平面文件系统上还是在 jar 文件中,甚至在远程 http 位置上。但是您应该注意,这种方法不允许您对File(实际上是文件夹)对象执行相同的操作。

于 2013-05-19T11:02:47.460 回答