Как программно проверить дату файла в Zip-архиве?
Учитывая, что у меня есть почтовый файл с именем archive.zip
который содержит файл с именем customerData
как можно программно проверить дату файла внутри archive.zip
? Я использую утилиту командной строки Winzip wzunzip, но я бы не стал возражать против использования чего-то другого.
Я пишу приложение.net, которое будет периодически читать данные из customerData
, Файл очень большой, и я хочу прервать операцию без распаковки customerData
если отметка даты не была обновлена, это указывает на наличие новых данных для чтения.
4 ответа
Через 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 также работает. Есть несколько платных библиотек, которыми я и пользовался и успешно использовал ChilCat.
ОБНОВЛЕНИЕ: Если вы не против написания сценариев. 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-файла является хорошим решением многих проблем, если вы не контролируете, как эти данные доставляются вам?
Если бы вы могли опубликовать немного больше информации о проблеме / ситуации, с которой вы имеете дело, я осмелюсь сказать, что команда здесь может найти более интересные возможные решения.
Немного не по теме, но иногда ответить на проблему с помощью правильного вопроса не так полезно, как решить более простую и понятную проблему... по крайней мере, мне нравится так думать.
Надеюсь, это поможет..
Установите дату извлечения, а не дату, когда папка была изначально создана, хотя просмотр архива в файловом менеджере 7zip действительно показывает, что записана первоначальная дата создания папки...