DotNetZip: Wie man Dateien extrahiert, aber den Pfad in der ZIP-Datei ignoriert?

8

Versuche, Dateien in einen bestimmten Ordner zu extrahieren, ohne den Pfad in der ZIP-Datei zu beachten, aber es scheint keinen Weg zu geben.

Dies scheint eine ziemlich grundlegende Voraussetzung angesichts all der anderen guten Sachen, die dort implementiert werden.

Was fehlt mir?

code ist -

%Vor%     
Kumar 09.03.2010, 00:16
quelle

4 Antworten

13

Sie müssen den Verzeichnisteil des Dateinamens unmittelbar vor dem Entpacken entfernen ...

%Vor%     
Software.Developer 09.03.2010, 20:56
quelle
18

Sie können es zwar nicht für einen bestimmten Aufruf von Extract() oder ExtractAll() angeben, die Klasse ZipFile hat jedoch ein FlattenFoldersOnExtract -Feld. Wenn der Wert auf "true" gesetzt ist, werden alle extrahierten Dateien in einem einzigen Ordner zusammengefasst:

%Vor%     
Andrew Timson 20.02.2012 03:33
quelle
1

Dies wird fehlschlagen, wenn 2 Dateien mit gleichen Dateinamen vorhanden sind. Beispielsweise Dateien \ Zusatzdateien \ Datei1.txt temp \ file1.txt

Die erste Datei wird in der zip-Datei in file1.txt umbenannt, und wenn die zweite Datei umbenannt werden soll, wird eine Ausnahme ausgelöst, die besagt, dass bereits ein Element mit demselben Schlüssel existiert.

    
Yordan 04.01.2012 15:55
quelle
0

Sie können die Überladung verwenden, die einen Stream als Parameter verwendet. Auf diese Weise haben Sie die vollständige Kontrolle über den Pfad, in den die Dateien extrahiert werden.

Beispiel:

%Vor%     
Chopain 29.08.2016 07:43
quelle

Tags und Links