Как пропустить формат ZIP64 при архивировании файла размером более 4 ГБ в c# - PullRequest
0 голосов
/ 06 августа 2020

Здесь я пытаюсь создать zip-файл, используя версию. net 4.5, размер которой превышает 4 ГБ. Формат файла создан как ZIP64. После этого есть еще одна программа, написанная на java, которая будет распаковываться и обрабатываться. Но код java выдает ошибку типа «недопустимый размер записи». Можно ли пропустить формат ZIP64, чтобы код java мог легко обработать zip-файл?

public static void ZipTest(string infile, string outfile)
{
   using (ZipArchive archive = System.IO.Compression.ZipFile.Open(outfile,                                         
                                                                 ZipArchiveMode.Create))
   {
     archive.CreateEntryFromFile(infile, Path.GetFileName(infile));
   }
}

1 Ответ

1 голос
/ 06 августа 2020

Это невозможно, так как исходный формат .ZIP имеет ограничение в 4 ГБ для входящих и исходящих файлов.

Из ZIP-статьи в Википедии :

Максимальный размер как для архивного файла, так и для отдельных файлов внутри него составляет 4294967295 байт (23 ^ 2-1 байт, или 4 ГиБ минус 1 байт) для стандартного ZIP.

...