2013-05-17 4 views
-1

Я использовал код для распаковки, найденный на this website. Код должен отлично работать и иметь возможность распаковывать папки/подпапки.Android - Не удалось разархивировать файлы

Проблема заключается в том, когда я запускаю код, он дает мне ошибки на LogCat:

05-17 20:31:13.415: V/Decompress(27611): Unzipping files/pkey.txt 
05-17 20:31:13.430: E/Decompress(27611): unzip 
05-17 20:31:13.430: E/Decompress(27611): java.io.FileNotFoundException: /storage/sdcard0/unzipped/files/pkey.txt: open failed: ENOENT (No such file or directory) 
05-17 20:31:13.430: E/Decompress(27611): at libcore.io.IoBridge.open(IoBridge.java:416) 
05-17 20:31:13.430: E/Decompress(27611): at java.io.FileOutputStream.<init>(FileOutputStream.java:88) 
05-17 20:31:13.430: E/Decompress(27611): at java.io.FileOutputStream.<init>(FileOutputStream.java:128) 
05-17 20:31:13.430: E/Decompress(27611): at java.io.FileOutputStream.<init>(FileOutputStream.java:117) 
05-17 20:31:13.430: E/Decompress(27611): at id.ac.petra.ta.DriveActivity$Decompress.unzip(DriveActivity.java:316) 
05-17 20:31:13.430: E/Decompress(27611): at id.ac.petra.ta.DriveActivity$DownloadFile.doInBackground(DriveActivity.java:371) 
05-17 20:31:13.430: E/Decompress(27611): at id.ac.petra.ta.DriveActivity$DownloadFile.doInBackground(DriveActivity.java:1) 
05-17 20:31:13.430: E/Decompress(27611): at android.os.AsyncTask$2.call(AsyncTask.java:287) 
05-17 20:31:13.430: E/Decompress(27611): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) 
05-17 20:31:13.430: E/Decompress(27611): at java.util.concurrent.FutureTask.run(FutureTask.java:137) 
05-17 20:31:13.430: E/Decompress(27611): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230) 
05-17 20:31:13.430: E/Decompress(27611): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) 
05-17 20:31:13.430: E/Decompress(27611): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) 
05-17 20:31:13.430: E/Decompress(27611): at java.lang.Thread.run(Thread.java:856) 
05-17 20:31:13.430: E/Decompress(27611): Caused by: libcore.io.ErrnoException: open failed: ENOENT (No such file or directory) 
05-17 20:31:13.430: E/Decompress(27611): at libcore.io.Posix.open(Native Method) 
05-17 20:31:13.430: E/Decompress(27611): at libcore.io.BlockGuardOs.open(BlockGuardOs.java:110) 
05-17 20:31:13.430: E/Decompress(27611): at libcore.io.IoBridge.open(IoBridge.java:400) 
05-17 20:31:13.430: E/Decompress(27611): ... 13 more 

Do кто знает, что это происходит? Пожалуйста, помогите.

+2

Ну это выглядит, как этот файл не существует ... –

+2

вероятно Unzipped/файлы не выездов с – Blackbelt

+0

Точно !! Вот почему распаковка не работает. Но я просто не знаю, почему он работает на некоторых людей (автоматически создайте вложенные папки), но не со мной ... – falcon

ответ

1

Основная причина этой ошибки заключается в том, что папка/подпапка (распакованные/файлы) не существует. Таким образом, проблема решена после того, как я добавить эти несколько строк:

java.io.File f = new java.io.File(_location + ze.getName()); 
f = new java.io.File(f.getParent()); 
f.mkdirs(); 
+0

Однако я не утверждаю, что исходный код неверен, поскольку он действительно работает на большинстве людей. Кроме того, я не знаю, почему исходный код не работает для меня. – falcon

Смежные вопросы