Passwortgeschützte ZIP-Dateien in Go 1.2 entpacken
In Go 1.2 bietet das Archiv/Zip-Paket grundlegende Zip-Funktionalität, aber keine Unterstützung zum Umgang mit passwortgeschützten Dateien. Um solche Dateien zu entpacken, wird empfohlen, das os/exec-Paket in Verbindung mit externen Tools wie 7zip zu verwenden.
7zip zum Extrahieren passwortgeschützter ZIP-Dateien verwenden
Das folgende Beispiel zeigt, wie man eine passwortgeschützte ZIP-Datei mit 7zip extrahiert:
<code class="go">func extractZipWithPassword() { fmt.Printf("Unzipping `%s` to directory `%s`\n", zip_path, extract_path) commandString := fmt.Sprintf(`7za e %s -o%s -p"%s" -aoa`, zip_path, extract_path, zip_password) commandSlice := strings.Fields(commandString) fmt.Println(commandString) c := exec.Command(commandSlice[0], commandSlice[1:]...) e := c.Run() checkError(e) }</code>
In diesem Beispiel erstellen wir eine Befehlszeichenfolge mit der ausführbaren 7za-Datei, um die ZIP-Datei zu extrahieren. Wir geben den Dateipfad, das Extraktionsverzeichnis, das Passwort und zusätzliche Optionen zum Überschreiben vorhandener Dateien und zum Aktualisieren der Archivzeitstempel (-aoa) an. Anschließend führen wir den Befehl mit der Funktion exec.Command aus und prüfen, ob Fehler vorliegen.
Zusätzliche Ressourcen
Hinweis:
Während dieser Ansatz auf basiert Als externes Tool bietet es eine unkomplizierte Lösung für den Umgang mit passwortgeschützten ZIP-Dateien in Go.
Das obige ist der detaillierte Inhalt vonWie entpacke ich passwortgeschützte ZIP-Dateien in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!