Ich habe eine Zip-Datei in die Android-Assets eingefügt. Wie extrahiere ich die Datei im internen Android-Speicher? Ich weiß, wie man die Datei bekommt, aber ich weiß nicht, wie ich sie extrahiere. Das ist mein Code ..
Util zip ;
zip = new Util();
zip.copyFileFromAsset(this, "myfile.zip", getExternalStorage()+
"/android/data/edu.binus.profile/");
Danke für Ihre Hilfe: D
Dieser Codeabschnitt wird Ihnen helfen .... Übergeben Sie einfach den ZIP-Datei-Speicherort und den Speicherort, an dem die extrahierten Dateien in dieser Klasse gespeichert werden sollen, während Sie ein Objekt erstellen ... und rufen Sie die unzip-Methode auf ...
%Vor%Basierend auf Sreedev R Lösung, Ich habe die Option hinzugefügt, die Datei aus Assets zu lesen und Puffer zu verwenden:
%Vor%Vielleicht sollten Sie versuchen, einen FileOutputStream in Kombination mit einem Eingabestream aus der Zip-Datei zu verwenden. Mit einer Paketdatei sollte dies funktionieren.
Um @wordy aus diese Frage zu zitieren:
%Vor%Sieht so aus, als könnte es Probleme mit ProGuard geben, aber hoffentlich funktioniert das Codebeispiel für Sie.
Ich habe noch nicht getestet, aber während ich ein Projekt auf OCR
durchführte, stieß ich auf diese Bibliothek , wo gibt es eine Methode zum Entpacken einer heruntergeladenen Datei aus dem Netz. Die genaue Methode zum Entpacken der Datei ist installZipFromAssets(String sourceFilename,File destinationDir,File destinationFile)
gefunden unter diesem Klasse .Hier ist das, was Sie suchen
Sie können auch die externe zip4j-Bibliothek verwenden, die zusätzliche Funktionen wie die Verschlüsselung bietet. Außerdem verfügt es über Funktionen zum Extrahieren von Dateien an einen bestimmten Ort, sofern der Pfad angegeben wurde.