如何获取我的资源的网址?
问题描述:
我注意到,当我尝试加载资源(图像,数据,声音文件等)时,不可能将它放在与源代码相同的文件中,只需键入“soundfiles/sound.wav”即可。什么是得到这个网址的最佳方式?如何获取我的资源的网址?
具体位置:
// load wave data from buffer
WaveData wavefile = WaveData.create("spaceinvaders/" + path);
我已经在许多不同的方式这样做之前,只是想知道的最佳方式是什么。
答
如果您在罐子运输您的应用它也打包资源罐中,并使用类加载器访问这些常见的方式:
//jar structure
your.jar
|--com
| `--... //classes here
`--resources
`--spaceinvaders
`--sound.wav
和代码访问权限:如果
InputStream resource = getClass().getClassLoader().getResourceAsStream("resources/spaceinvaders/sound.wav");
它是一个applet ,我会使用相同的代码吗? – 2012-01-13 17:21:53
@StevenRogers,试试吧。它应该工作。顺便说一句,请查看http://docs.oracle.com/javase/1.5.0/docs/guide/lang/resources.html – 2012-01-13 17:29:04
这不起作用。我现在正在使用LWJGL,并且必须将类路径设置为lwjgl jar库以使其运行。所以当我'getResource ..“它返回LWJGL库的URL而不是我自己的。有没有办法解决这个问题? – 2012-01-13 17:44:33