【发布时间】:2013-05-17 13:39:18
【问题描述】:
我一直在使用this website 上的解压缩码。该代码应该可以完美运行,并且能够解压缩文件夹/子文件夹。
问题是当我运行代码时,它在 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
有人知道这是怎么回事吗? 请帮忙。
【问题讨论】:
-
看来那个文件不存在...
-
可能解压/文件没有退出
-
没错!!这就是解压缩不起作用的原因。但我只是不知道为什么它适用于某些人(自动创建子文件夹),但不适用于我......
-
你有写权限吗?
-
是的,我有 WRITE_EXTERNAL_STORAGE 权限。但是我还是不明白为什么原来的代码对我不起作用,这需要我先添加父目录。