我有一个用 Java 编写的应用程序,它使用一个 jar 文件(它使用多个,但这不是重点)。
事实是,我使用的 Jar 文件包含我绝对必须提取到文件系统的文件。
到目前为止,我使用的是 Class.getResourceAsStream 和 FileOutputStream,但是这种方法有点慢。请注意,其中一些文件是基于文本的,但其他文件只是二进制文件。
因此,除了尝试减少从 JAR 中提取文件的需要之外,是否有针对这些任务的任何优化(例如更充分的功能)。
请注意,我的应用程序是基于 Java 6 的,我希望将外部依赖项减少到最低限度。
编辑:为了将来参考,我的旧(低效率)代码是:
int c;
while((c = is.read())!=-1){
fos.write(c);
}
对于新的、更快的代码,请参阅接受的回复。