1
4
开口
罐子是一种非常昂贵的操作。所以你可能想打开罐子一次,然后
另一种解决方案是将jar放在类路径上并使用
注意“/”!如果省略它,Java将在找到文件DivineFont.class的同一目录(包)中搜索。 从类路径中获取东西已经在Java中被优化为死亡。 |
2
1
嗯,我找到了答案。原始问题的答案是“错误的问题”。JAR文件不是问题所在,而是我用来加载图像的库。 当我从文件系统加载时,图像被命名为“38.png”等。当我从jar加载时,我只是将它命名为“38”。 库中的图像加载器类使用名称的文件扩展名来标识要使用的图像加载器。如果没有文件扩展名,则使用较慢的基本图像加载器。当我更改此行时:
这条线:
我们自己就是赢家。 不管怎样,谢谢你们的帮助。我花了几个小时才明白这一点,但如果不是你的帖子,我可能会继续认为是Java而不是我正在使用的图书馆。 |
3
0
JAR文件操作可能非常昂贵,Java类库已经实现了这种资源加载(可能是尽可能高效的)。 另外,一旦你进入webstart,你的jar文件名就会被破坏,所以你可能最终不得不探索类路径上的每个jar文件来加载你的资源(我已经做到了!难看!) 相反,使用 Class.getResourceAsStream(String resourceName) . 我没有对它进行分析,但是我没有注意到它比直接文件访问慢得多。 |
4
-2
This library 可能不会压缩到你需要的程度,但会更快… |
Martin M · zip中文件的编码(C#/ionic zip) 7 年前 |
Juni · 创建包含字符串变量的文本/csv的zip文件下载 7 年前 |
Ty Kayn · PHP7中的ZipArchive找不到zip的内容 7 年前 |