我正在尝试从当前正在运行的 jar 文件中访问资源文件。我现在需要的资源是一个 jar 文件,但我需要一种适用于任何文件的方法。我已经尝试过查看不同的解决方案,但到目前为止它们都没有奏效。我试图使用 URL 指向 jar 中文件的绝对路径,但这似乎不起作用。我已经检查了路径,它应该正在获取该文件。无论我做什么,URL 总是返回 null。我正在使用 Apache Commons-IO。
到目前为止,这是我的代码。
private static void copyFiles() {
URL source = ClassName.class.getClass().getResource("/resources/file.jar");
File target = new File(System.getProperty("user.home") +
System.getProperty("file.separator") + "Desktop" +
System.getProperty("file.separator") + "filename");
try {
FileUtils.copyURLToFile(source, target);
} catch (IOException e) {
e.printStackTrace();
return false;
}
return true;
}
这会引发 NullPointerException。任何帮助表示赞赏。谢谢。