Я хотел бы обновить содержимое текстового файла, находящегося внутри 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()
}
Спасибо за вашу помощь Opal. Ваше первое решение выглядит великолепно, но по какой-то причине ничего не происходит, zipfile вообще не изменяется. – user955732
Почтовый файл не удаляется. Временной файл выглядит нормально. – user955732
Я тестировал Mac OS. Пожалуйста, дайте мне знать, если он решит проблему. Я могу проверить еще раз. – Opal