【发布时间】:2026-01-10 13:55:01
【问题描述】:
我需要用我的代码打开一个视频文件,它在 Eclipse 中运行良好,但是当我导出到可运行的 JAR 时,我收到一个错误“URI 不是分层的”。
我看到有人建议使用 getResourceAsStream(),但我需要有一个文件对象,因为我使用的是 Desktop.getDesktop.open(File)。谁能帮帮我?
代码如下:
try {
URI path1 = getClass().getResource("/videos/tutorialVid1.mp4").toURI();
File f = new File(path1);
Desktop.getDesktop().open(f);
} catch (Exception e) {
e.printStackTrace();
}
如果它有助于我的文件夹列表就像
-
源
- 视频
- videoFile.mp4
- 视频
编辑: 我打算只在 Windows 上运行它,并使用 launch4j 创建一个 exe。
【问题讨论】:
-
jar 文件中的资源不是文件。它不在文件系统中。所以你不能使用 File 来引用它,因为它不是一个文件。
-
我可以使用其他方法吗? b/c 我所关心的是能够在不使用外部 API 或 JMF 的情况下播放视频。
-
不要将视频放入jar文件中。将它与您的应用程序捆绑在一起,但在 jar 文件之外。或者从 jar 文件中读取它,将其复制到一个临时文件中,然后打开该临时文件。
-
你能链接到第二个例子吗?请和谢谢你
-
您为什么不直接在 Google 上搜索“如何在 Java 中创建临时文件”?无需我的帮助,您将获得大量链接。
标签: java