내 프로젝트에 포함 된 zip 파일이 있습니다. 나는 그것을 어떤 위치에 압축을 풀 필요가있다.C에서 임베디드 파일의 스트림에서 압축을 해제하는 방법
외부 라이브러리를 사용하지 않는 것이 좋습니다.
Stream _pluginZipResourceStream = System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream("plugin.zip");
나는 GZipStream을 시도했지만 오류가 발생했습니다.
using (FileStream decompressedFileStream = File.Create(outputFileName))
{
using (GZipStream decompressionStream = new GZipStream(fileStream, CompressionMode.Decompress))
{
decompressionStream.CopyTo(decompressedFileStream);
}
}
InvalidDataException는 처리되지 않은했다 : Gzip으로 헤더의 매직 번호가 올바르지 않습니다. GZip 스트림을 전달하고 있는지 확인하십시오.
압축을 해제하는 방법 ???
저는 ZipArchiveEntry.ExtracttoFile을 사용해야합니까? – Dineshkumar
zip 파일에 저장하는 내용에 따라 다릅니다. 두 개 이상의 파일이 압축되어 있고 그 중 하나를 원한다면 ZipArchiveEntry.ExtractToFile은 선택 사항이 아닙니다. 모든 파일의 압축을 풀려면 하나의 파일 만 있어도 ZipArchive.ExtractToDirectory를 선호합니다. 희망이 도움이됩니다. – Omnibus
고마워, 나는 모든 것을 시도하고 마침내 그것이 일하게 만들었다! – Dineshkumar