我想更新位于zip文件内的文本文件的内容。修改zipfile条目的文件内容
我无法找到如何做到这一点,下面的代码无法正常工作。
感谢您的帮助!
import java.util.zip.ZipFile
import java.util.zip.ZipEntry
import java.util.zip.ZipOutputStream
String zipFileFullPath = "C:/path/to/myzipfile/test.zip"
ZipFile zipFile = new ZipFile(zipFileFullPath)
ZipEntry entry = zipFile.getEntry ("someFile.txt")
if(entry){
InputStream input = zipFile.getInputStream(entry)
BufferedReader br = new BufferedReader(new InputStreamReader(input, "UTF-8"))
String s = null
StringBuffer sb = new StringBuffer()
while ((s=br.readLine())!=null){
sb.append(s)
}
sb.append("adding some text..")
ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipFileFullPath))
out.putNextEntry(new ZipEntry("someFile.txt"));
int length
InputStream fin = new ByteArrayInputStream(sb.toString().getBytes("UTF8"))
while((length = fin.read(sb)) > 0)
{
out.write(sb, 0, length)
}
out.closeEntry()
}
感谢您的帮助蛋白石。你的第一个解决方案看起来不错,但由于某种原因没有任何反应,zip文件似乎根本没有改变。 – user955732 2014-10-04 14:20:22
压缩文件不会被删除。临时文件看起来不错。 – user955732 2014-10-04 14:52:32
我已经在Mac OS上测试过。请让我知道它是否解决了问题。我可以再检查一次。 – Opal 2014-10-04 22:40:49