2
기존 JAR 파일을 업데이트 (파일 추가/수정)하려고하는데 DotNetZip 라이브러리를 사용하는이 코드로 인해 아카이브가 "손상됨"으로 나타나고 WinRAR을 ZIP 또는 JAR 파일로 열 수 없습니다.DotNetZip으로 JAR 파일을 업데이트하면 아카이브가 손상됩니까?
using (FileStream fs = new FileStream("/path/to/jar", FileMode.Open))
{
ZipFile zip = ZipFile.Read(fs);
fs.Seek(0, SeekOrigin.Begin);
zip.Save(fs);
}
ZIP과 JAR 형식의 차이점은 무엇입니까? 나는 그 파일의 첫 번째 항목으로 매니페스트가있는 ZIP 형식이라는 인상을 받고있었습니다. 분명히 그렇지 않습니다. 이 작업을 수행 할 수있는 기존의 (C#) 라이브러리가 있습니까?
(A 새 파일에 지퍼로 잠그는 것은.이 확인 될 수 있도록 것),하지만 당신은 정확했다. ZipFile을 MemoryStream에 저장하고, ZipFile의 파일 스트림을 닫고 null 처리하며, ZipFile을 널링 한 다음 최종 목적지에 MemoryStream을 쓰는 방법으로 제작 코드에서이 문제를 해결했습니다. 당신이 그날을 구 했으니, 내 모든 시간의 업무가 낭비되었다고 생각했습니다. – Salis