我正在研究Minecraft Mod安裝程序並考慮將引擎從C#移動到Java想現在如果可以將某些文件從一個zip文件複製到另一個文件而無需將它們解壓縮到一個臨時文件夾,如果可能的話,我該如何解決這個問題?Java ZIP文件從一個zip文件複製並粘貼到另一個文件
在舊發動機它的文件解壓縮到一個臨時文件夾,然後將它們添加到Minecraft.jar
我正在研究Minecraft Mod安裝程序並考慮將引擎從C#移動到Java想現在如果可以將某些文件從一個zip文件複製到另一個文件而無需將它們解壓縮到一個臨時文件夾,如果可能的話,我該如何解決這個問題?Java ZIP文件從一個zip文件複製並粘貼到另一個文件
在舊發動機它的文件解壓縮到一個臨時文件夾,然後將它們添加到Minecraft.jar
在JRE中的原生支持ZIP可以做到這一點。試試這個:
void substitute(ZipInputStream zis, ZipOutputStream zos) {
for (ZipEntry ze = zis.getNextEntry(); ze != null; ze = zis.getNextEntry()) {
if (ze.getName() is what you want to copy) {
zos.putNextEntry(ze)
Array[Byte] buffer = new Array[Byte](1024)
for (int read = zis.read(buffer); read != -1; read = zis.read(buffer)) {
zos.write(buffer, 0, read)
}
zos.closeEntry
}
}
zos.close()
zis.close()
}
注意:zip文件裏面的數據被解壓並再次壓縮。
我會嘗試一下,在IntelliMod for MMI上工作 – 2012-01-06 10:33:00
那麼'ze.getName()'文件的名稱是什麼? – 2012-01-06 10:37:38
[你有什麼嘗試](http://mattgemmell.com/2008/12/08/what-have-you-tried/) – RanRag 2012-01-06 10:14:53
我還沒有嘗試過,因爲我只是想看看它是否可能 – 2012-01-06 10:19:57