2010-07-15 16 views
2

Étant donné que j'ai un fichier zip appelé archive.zip qui contient un fichier appelé customerData, comment puis-je vérifier par programme la date du fichier à l'intérieur archive.zip? J'utilise l'utilitaire Winzip en ligne de commande wzunzip, mais je ne m'opposerais pas à l'utilisation éventuelle d'autre chose. J'écris une application .net qui lira périodiquement les données de customerData. Le fichier est très volumineux et je souhaite abandonner l'opération sans en extrayant customerData si l'horodatage n'a pas été mis à jour, indiquant qu'il y a de nouvelles données à lire.Comment vérifier par programme la date d'un fichier dans une archive Zip?

Répondre

1

Via http://dotnetzip.codeplex.com/. Il n'y a pas de façon native (que je connaisse) de le faire.

Exemple de code:

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

Je pense que l'API .NET est plus facile DotNetZip, mais SharpLibZip fonctionne aussi bien. Il y a un certain nombre de bibliothèques payantes dont j'ai aimé et utilisé avec succès ChilCat.

MISE À JOUR: Si cela ne vous dérange pas les scripts. ligne de commande 7zip fournit les informations

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 
... 
0

Si je peux être si audacieux, il semble peu probable que la vérification d'un fichier zip est périodiquement une bonne solution à de nombreux problèmes, à moins que vous n'avez aucun contrôle sur la façon dont ces données sont livré à toi?

Si vous pouviez poster un peu plus d'informations sur le problème/la situation que vous traitez, j'ose dire que l'équipe ici pourrait être en mesure de proposer des solutions plus intéressantes.

Un peu hors-sujet, mais parfois répondre à un problème avec la bonne question n'est pas aussi utile que d'obtenir un problème plus facile et plus propre à résoudre .. au moins, j'aime penser.

Espérons que cela aide ..

+0

Malheureusement, cette méthode est figée. Auparavant, les nouvelles données arrivaient chaque jour et le programme fonctionnait une fois par jour pour lire les nouvelles données. Ma tâche est de le faire tourner plus d'une fois par jour et d'interroger les données pour voir si elles sont nouvelles ou non. –

+0

Je ne sais pas qui m'a voté mais si vous pouviez laisser un commentaire qui serait apprécié. Pensez-vous vraiment que ma réponse est inutile? –