我注意到当我尝试加载资源(图像,数据,声音文件等)时,无法将其放在与源代码相同的文件中,只需输入“soundfiles / sound.wav”即可。 。获取此网址的最佳方式是什么?
具体来说:
// load wave data from buffer
WaveData wavefile = WaveData.create("spaceinvaders/" + path);
我以前用很多不同的方式做过这件事,只是想知道最好的方法是什么。
答案 0 :(得分:2)
如果您在jar中发布应用程序,那么通常也可以在jar中打包资源并使用类加载器访问它们:
//jar structure
your.jar
|--com
| `--... //classes here
`--resources
`--spaceinvaders
`--sound.wav
要访问的代码:
InputStream resource = getClass().getClassLoader().getResourceAsStream("resources/spaceinvaders/sound.wav");