如何使用可执行文件 Jar 中包含的文件
How to use included Files in Executables Jar
我有问题,我的应用程序需要图像 (jpgs)、音频文件 (mp3) 和 css 文件。在 IDE 中,我可以只使用一个字符串指向它们并使用它们。
我已经阅读了如何将这些文件包含在 jar 中(使用项目 -> 属性 -> 源代码 -> 添加文件夹)。
比我读的可以用"getRessource()"或"getRessourceAsStream"。
我尝试使用 "getRessource()" 将图像加载到我的 jar 中......但没有成功。所以我尝试了 getRessourceAsStream。这很有效,我能够从 InputStream 创建一个 JavaFx.Image。代码:
InputStream bild = getClass().getResourceAsStream("/eins.jpg");
Image img = new Image(bild);
问题 "How to use Files inside a jar" 的大部分答案都说您应该始终使用 InputStream。
现在我的问题是我使用 "scene.getStylesheets().add()" 对于该方法我需要一个 String 而不是 InputStream。 "Media m = new Media()".
也是如此
要么有一种方法可以使用来自两个资源的 InputStream(添加 css 和音频文件),要么可以将 InputStream 转换为我可以用于这两种方法的东西。两个都适合我。
此代码对我不起作用:
URL url = getClass().getResource("/style.css");
scene.getStylesheets().add(url.getFile());
那么如何使用我的 jar 中包含的 css 文件。如果可能,使用 InputStream 对我来说没问题,我不需要使用 "getRessource".
感谢帮助!如果缺少某些信息,请告诉我。
试试这个:
scene.getStylesheets().add(getClass().getResource("/style.css").toExternalForm());
我有问题,我的应用程序需要图像 (jpgs)、音频文件 (mp3) 和 css 文件。在 IDE 中,我可以只使用一个字符串指向它们并使用它们。
我已经阅读了如何将这些文件包含在 jar 中(使用项目 -> 属性 -> 源代码 -> 添加文件夹)。
比我读的可以用"getRessource()"或"getRessourceAsStream"。
我尝试使用 "getRessource()" 将图像加载到我的 jar 中......但没有成功。所以我尝试了 getRessourceAsStream。这很有效,我能够从 InputStream 创建一个 JavaFx.Image。代码:
InputStream bild = getClass().getResourceAsStream("/eins.jpg");
Image img = new Image(bild);
问题 "How to use Files inside a jar" 的大部分答案都说您应该始终使用 InputStream。
现在我的问题是我使用 "scene.getStylesheets().add()" 对于该方法我需要一个 String 而不是 InputStream。 "Media m = new Media()".
也是如此要么有一种方法可以使用来自两个资源的 InputStream(添加 css 和音频文件),要么可以将 InputStream 转换为我可以用于这两种方法的东西。两个都适合我。
此代码对我不起作用:
URL url = getClass().getResource("/style.css");
scene.getStylesheets().add(url.getFile());
那么如何使用我的 jar 中包含的 css 文件。如果可能,使用 InputStream 对我来说没问题,我不需要使用 "getRessource".
感谢帮助!如果缺少某些信息,请告诉我。
试试这个:
scene.getStylesheets().add(getClass().getResource("/style.css").toExternalForm());