Android emülatöründe sd kartına kaydedilmiş bir video dosyası korumalı bir sıkıştırılmış parolam var. Şimdi bu video dosyasını sd kartında kod aracılığıyla açmak istiyorum. Bunu nasıl başarabilirim? Herhangi bir yardım ya da kod? Senin durumunda peşinAndroid uygulamasında sd kartında sıkıştırılmış bir dosyayı açın
cevap
import android.util.Log;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
/**
*
* @author jon
*/
public class Decompress {
private String _zipFile;
private String _location;
public Decompress(String zipFile, String location) {
_zipFile = zipFile;
_location = location;
_dirChecker("");
}
public void unzip() {
try {
FileInputStream fin = new FileInputStream(_zipFile);
ZipInputStream zin = new ZipInputStream(fin);
ZipEntry ze = null;
while ((ze = zin.getNextEntry()) != null) {
Log.v("Decompress", "Unzipping " + ze.getName());
if(ze.isDirectory()) {
_dirChecker(ze.getName());
} else {
FileOutputStream fout = new FileOutputStream(_location + ze.getName());
for (int c = zin.read(); c != -1; c = zin.read()) {
fout.write(c);
}
zin.closeEntry();
fout.close();
}
}
zin.close();
} catch(Exception e) {
Log.e("Decompress", "unzip", e);
}
}
private void _dirChecker(String dir) {
File f = new File(_location + dir);
if(!f.isDirectory()) {
f.mkdirs();
}
}
}
yılında Teşekkür ::
String zipFilename = Environment.getExternalStorageDirectory() + "/files.zip";
String unzipLocation = Environment.getExternalStorageDirectory() + "/unzipped/";
Decompress d = new Decompress(zipFilename, unzipLocation);
d.unzip();
hey bu sayfa "sayfa mevcut değil" –
Divyesh Yanıt için teşekkürler. Ama yine de kafam karıştı çünkü sıkıştırılmış dosyam parola korumalı, böylece dosyaya girmek için bu parolayı nasıl eşleştireceğim? –
Cevabınız için sadece bir tamamlayıcı, gerçek giriş okuma ve dosya yazma bayt yerine bayt yerine daha yüksek performans için parçalar halinde yapılabilir: 'byte [] buffer = new byte [4096]; (int c = zin.read (buffer); c! = -1; c = zin.read (buffer)) için { fout.write (tampon, 0, c);} ' – nobre
Bu biraz daha Apache en IOUtils.copy()
kopyalama dosyalar için ve finally
blok kullanarak Samir kodunun temizleyici versiyonudur. Arşivde büyük dosyalarınız varsa IOUtils.copyLarge()
'u daha iyi kullanın. Şifre korumalı dosya kullanacağım bu kütüphaneyi açma için
import org.apache.commons.io.IOUtils;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
public class ZipUtils {
public static void unzip(InputStream is, File path) {
checkDir(path);
ZipInputStream zis = null;
FileOutputStream fos = null;
try {
zis = new ZipInputStream(is);
ZipEntry ze;
while ((ze = zis.getNextEntry()) != null) {
File entryFile = new File(path, ze.getName());
if (ze.isDirectory()) {
checkDir(entryFile);
} else {
fos = new FileOutputStream(entryFile);
IOUtils.copy(zis, fos);
fos.close();
fos = null;
}
zis.closeEntry();
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (zis != null) {
try {
zis.close();
} catch (IOException ignore) {
}
}
if (fos != null) {
try {
fos.close();
} catch (IOException ignore) {
}
}
}
}
private static void checkDir(File path) {
if (!path.exists()) {
path.mkdirs();
} else if (!path.isDirectory()) {
throw new IllegalArgumentException("Path is not directory");
}
}
}
:
http://www.lingala.net/zip4j/download.php
o kadar kolaydır.
ZipFile zipFile = new ZipFile(YourZipFile);
if(zipFile.isEncrypted())
zipFile.setPassword(Password);
zipFile.extractAll(Destination);
- 1. sd kartında ya da
- 2. Depolama Erişimi Çerçevesi'ni kullanarak sd kartında yeni klasör nasıl oluşturulur?
- 3. Dosyayı inode ile açın
- 4. Herhangi bir dosyayı VBScript ile açın
- 5. Tüm resimleri bir klasörde (SD kart) tek seferde açın.
- 6. Bir AngularJS uygulamasında google kullanıcısıyla oturum açın
- 7. Sıkıştırılmış bir dosyayı web sitesinden indirme işlemini nasıl otomatikleştirebilirim
- 8. açık son değiştirilmiş dosyayı vi'de açarak dosyayı açın
- 9. android SD Karttan bir resim okuma
- 10. AIR/Flex ile yerel dosyayı açın
- 11. Inting kullanarak SD karttan bir dosya seçin
- 12. Bir klasörü açın ve WPF ile belirli bir dosyayı vurgulayın
- 13. Android: Realm için url'den json dosyasını açın
- 14. .SD
- 15. Sıkıştırılmış bir dosyaya dönüştürme
- 16. gerçek zamanlı bir Java uygulamasında Skobbler API'lerini kullanarak gezinmeyi açın
- 17. Linkler Uzaktan JQueryMobil uygulamasında bir cep telefonu uygulaması açın safari açın
- 18. Android Emulator, SD-Card dosyalarını nerede saklıyor?
- 19. Android Kaydetme, sd kartındaki dizine bitmap oluşturdu
- 20. Android - SD karttaki dosyaları sil üstünde kaldırın
- 21. C# - Sıkıştırılmış bayt []
- 22. Android Lollipop SD-CARD üzerinde arka planda indirilen görüntüyü kaydetme
- 23. Oauth 2 bir Android uygulamasında
- 24. Bir Android uygulamasında jwplayer kullanılamıyor
- 25. Bir Android uygulamasında PDF okuma
- 26. Sıkıştırılmış dosya
- 27. TÜM android cihazlarda dahili bir SD kart var mı?
- 28. Mümkün olduğu kadar hızlı binlerce dosyayı açın ve okuyun
- 29. Geçici dosyayı, Rails modeline kaydedilmeden önce açın. Rails model
- 30. Çerezler gerektiren bir SSL sayfasından sıkıştırılmış bir dosyayı indirmek için R nasıl kullanılır?
http://www.google.com/search?q=android+unzip+file – Caner
Android geliştirici sitesinden ZipInputStream göz at: http://developer.android.com/reference/java /util/zip/ZipFile.html – Seph
Bu soruya daha önce defalarca sorulmuştur. Android'den ziyade Java kütüphanesinde. Buraya bakın: http://stackoverflow.com/questions/3382996/how-to-unzip-files-programmatically-in-android – HXCaine