Эта проблема давно искала меня. Мне нужно загрузить пару файлов в моем приложении java, и единственный способ, которым я работал, выглядит так:
URL hsURL;
if(System.getProperty("os.name").toLowerCase().contains("windows")) {
hsURL = new URL("file:/" + System.getProperty("user.dir") + "/helpsets/helpset.hs");
}
else {
hsURL = new URL("file://" + System.getProperty("user.dir") + "/helpsets/helpset.hs");
}
Но это уродливо и ужасно. Некоторое время я думал, что это работает:
hsURL = ClassLoader.getSystemResource("helpsets/helpset.hs");
Но это уже не работает по какой-то причине (я, должно быть, что-то изменил и не заметил. Он возвращает null.
Должен ли я использовать getResource() вместо getSystemResource() (если это так, почему getSystemResource() статический, но не getResource())?
Я использую eclipse, и я попытался включить папку в путь сборки (classpath), и не включая ее, это, похоже, не имеет значения.