Jar中的路径是路径,而不是实际目录,因为您可以在文件系统上使用它们。要在Jar文件的特定路径中获取所有资源,请执行以下操作:
- 增益的
URL
指向罐。 InputStream
从中获取URL
。ZipInputStream
从构造InputStream
。- 迭代每个
ZipEntry
,寻找与所需路径的匹配。
..当Applet不在罐中时,我仍然可以测试我的Applet吗?还是我必须编程两种方式来获取我的图像?
该
ZipInputStream文件系统上的目录不会松动资源工作。但是,我强烈建议您使用诸如Ant之类的构建工具来构建(编译/ jar
/签名等)小程序。编写并检查构建脚本可能需要一个小时左右的时间,但是此后您可以通过几次击键和几秒钟的时间来构建项目。
如果要测试我的Aplet,如果我总是必须提取并签名罐子,那会很烦人
我不确定你在那里的意思。“提取”从何而来?如果我不清楚,沙盒小程序可以通过这种方式从
archive属性中提到的任何Jar中加载资源。您可能要做的另一件事是将资源Jar与applet
Jar分开。资源更改通常少于代码更改,因此您的构建可能可以采用一些捷径。
我想我确实必须考虑将我的图片放入jar之外的单独目录中。
如果您是在服务器上说的话,那么缺少服务器的帮助下将没有实用的方法来获取图像文件列表。EG一些服务器设置不安全,无法为没有默认文件(例如index.html)的任何目录生成基于HTML的“文件列表”。
我只有一个jar,里面放着我的课程,图像和声音。
OK-考虑将声音和图像移到单独的Jar中。或者至少将它们“不压缩”地放入罐子中。尽管Zip压缩技术可以很好地与类配合使用,但是它们在压缩(否则已经压缩)媒体格式时效率较低。
我必须签名,因为我使用“首选项”类保存用户设置。”
Preferences对于applet,还有其他替代方法,例如cookie。对于插件2体系结构小程序,可以使用Java Web
Start启动小程序(仍嵌入在浏览器中)。JWS提供了PersistenceService。这是我的小演示。的PersistenceService。
说到JWS,这使我想到:您是否可以 _肯定,_此游戏作为applet会比
Jframe使用JWS启动的应用程序(例如使用)更好。
小程序不会给您带来压力,
PersistenceService自Java 1.2引入以来,JWS就提供了小程序。



