Как мне программно проверить дату файла в Zip-архиве?

StackOverflow https://stackoverflow.com/questions/3259518

  •  16-09-2020
  •  | 
  •  

Вопрос

Учитывая, что у меня есть zip-файл под названием archive.zip который содержит файл под названием customerData, как я могу программно проверить дату файла внутри archive.zip?Я использую утилиту Winzip командной строки wzunzip, но я бы не возражал против возможного использования чего-то другого.

Я пишу .net-приложение, которое будет периодически считывать данные из customerData.Файл очень большой, и я хочу прервать операцию без извлечение customerData если отметка даты не была обновлена, указывая на наличие новых данных для чтения.

Это было полезно?

Решение

Через http://dotnetzip.codeplex.com/.Нет никакого родного способа (который я знаю) сделать это.

Пример кода:

ZipFile z = ZipFile.Read(@"C:\archive.zip");
foreach (ZipEntry zEntry in z)
{
    Console.WriteLine(zEntry.LastModified.ToString());
}

Другие советы

Я думаю, что самый простой .NET API - это Файл DotNetZip, но SharpLibZip также работает.Существует несколько платных библиотек, которыми я пользовался с удовольствием и успешно пользовался Чилкат.

Обновить:Если вы не возражаете против написания сценариев.командная строка 7zip предоставляет информацию

C:\temp\XpsTest>"c:\Program Files\7-zip\7z.exe" l "39 Clues.xps"

7-Zip 4.65  Copyright (c) 1999-2009 Igor Pavlov  2009-02-03

Listing archive: 39 Clues.xps


   Date      Time    Attr         Size   Compressed  Name
------------------- ----- ------------ ------------  ------------------------
2009-09-10 23:06:58 .....          160          212  FixedDocumentSequence.fdseq
...

Если я позволю себе быть настолько смелым, звучит маловероятно, что периодическая проверка zip-файла является хорошим решением многих проблем, если только у вас нет контроля над тем, как эти данные доставляются вам?

Если бы вы могли опубликовать немного больше информации о проблеме / ситуации, с которой вы имеете дело, я осмелюсь сказать, что присутствующая здесь команда могла бы предложить несколько более интересных возможных решений.?

Немного не по теме, но иногда ответить на проблему правильным вопросом не так полезно, как найти решение проще и понятнее..по крайней мере, мне нравится так думать.

Надеюсь, это поможет..

Установите дату извлечения, а не дату первоначального создания папки, хотя просмотр архива в 7зип файловый менеджер действительно показывает, что записана исходная дата создания папки...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top