java - 设置媒体文件在程序中的位置路径

标签 java swing embedded-resource

<分区>

Possible Duplicate:
Get the application's path

我在 Netbeans 中制作了一个 Java Swing 桌面应用程序,它可以播放媒体文件我已将视频放在我的工作区资源位置,在我的 Java 程序中我使用如下所示的 URL 调用这些媒体文件:

C:/users/Dell/My Documents/NetBeansProjects/Media/src/resources/MediaFiles/ddd.mpg

当我在我的 IDE 中运行时效果很好,而且我为此制作了 Jar 它在我的电脑上运行良好但问题是当我在我的 friend 系统上复制这个 jar 文件时界面出现但是当我点击一个按钮时播放媒体文件它说文件 不存在。

因此,请提供一个解决方案,说明如何设置默认路径,以便当我在其他系统上运行 jar 文件时,它应该播放我在我的程序中传递的媒体文件位置。

如何在程序中设置媒体文件所在的路径?

更新

视频在 jar 文件中。

最佳答案

如果视频在 jar 文件中,它们实际上是一个

请注意,上述 URL 中的字符串更让人联想到 File 实例的路径,而不是基于文件的 URL 或 URI。

咨询embedded resource info. page有关使用 getResource(String) 获取嵌入式资源 URL 的详细信息。

在 Jar 中打包视频

最好将视频或声音样本等资源放入单独的 Jar 中进行分类,因为这样可以更简单地为媒体资源指定“无压缩”。 Zip 样式压缩通常对媒体类型没有任何作用,只是使“压缩”资源变大几个字节。

从 Jar 中提取资源

如果需要提取资源并将它们放在已知位置(例如使用 Desktop.open(File) 播放的视频),请参阅 this answer用于提取它们的策略。 “已知位置”是 user.home 的子目录。

关于java - 设置媒体文件在程序中的位置路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12329384/

相关文章:

java - 无法读取输入文件错误

java - Andengine Sprite 动态Zindex

java - 如何使 javadoc doclava doclet 与 gradle 一起工作

java - D'n'D 上的重影图像从 canvas 2d 到 canvas 3d

java - Dispose() 不适用于每一帧

vb6 - 如何创建或修改 VB6 exe 版本资源 block 以使其成为 Squirrel-Aware

java - java 为什么要实现栈和队列

java - 如何在 Spring 3 中做一个@CrossOrigin 注释?

java - SwingWorker 的问题

c# - 添加(嵌入式资源)架构到 XmlReaderSettings 而不是文件名?