Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Util Zip-存档中缺少文件(Android)_Java_Android_Zip_Ziparchive_Archiving - Fatal编程技术网

Java Util Zip-存档中缺少文件(Android)

Java Util Zip-存档中缺少文件(Android),java,android,zip,ziparchive,archiving,Java,Android,Zip,Ziparchive,Archiving,在我的应用程序中,用户选择的图像被打包到zip存档中。问题是归档文件中缺少很多文件,比如说,如果我选择30个图像,归档文件中只包含12个或17个图像,可能会有所不同 我是否必须增加一些缓冲区值,或者为什么只归档了部分文件,而缺少了其余的文件 谢谢 我用于压缩的代码: public void zip(String[] files, String zipFile) throws IOException { File zipDirectory = new File(Environmen

在我的应用程序中,用户选择的图像被打包到zip存档中。问题是归档文件中缺少很多文件,比如说,如果我选择30个图像,归档文件中只包含12个或17个图像,可能会有所不同

我是否必须增加一些缓冲区值,或者为什么只归档了部分文件,而缺少了其余的文件

谢谢

我用于压缩的代码:

public void zip(String[] files, String zipFile) throws IOException {
        File zipDirectory = new File(Environment.getExternalStorageDirectory()
                + "/laborator/");
        if (!zipDirectory.exists()) {
            zipDirectory.mkdirs();
        } else {
            System.out.println("folder already exists!");
        }

        BufferedInputStream origin = null;
        ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(
                new FileOutputStream(Environment.getExternalStorageDirectory()
                        + "/laborator/" + zipFile)));
        try {
            byte data[] = new byte[BUFFER_SIZE];

            for (int i = 0; i < files.length; i++) {
                FileInputStream fi = new FileInputStream(files[i]);
                origin = new BufferedInputStream(fi, BUFFER_SIZE);
                try {
                    ZipEntry entry = new ZipEntry(files[i].substring(files[i]
                            .lastIndexOf("/") + 1));
                    out.putNextEntry(entry);
                    int count;
                    while ((count = origin.read(data, 0, BUFFER_SIZE)) != -1) {
                        out.write(data, 0, count);
                    }
                } finally {
                    origin.close();
                }
            }
        } finally {
            out.close();
            System.out.println("ziping done");
            sendZip();
        }
    }

你确定你的字符串[]文件完整吗?你确定里面的所有路径都正确吗?@Opiatefuchs-请查看我的更新答案。我已打印出文件[],该文件具有指向eace图像的路径。@Opiatefuchs-当我检查我的崩溃报告时,当存档方法打开时,发生了崩溃,但我的文件是异步上载的。也许这就是原因?
> 04-29 11:55:44.450: I/System.out(17558):
> /storage/emulated/0/Pictures/Messenger/received_10203971818075142.jpeg
> 04-29 11:55:44.450: I/System.out(17558):
> /storage/emulated/0/DCIM/Camera/20150428_190814.jpg 04-29
> 11:55:44.450: I/System.out(17558):
> /storage/emulated/0/DCIM/Camera/20150428_190810.jpg 04-29
> 11:55:44.450: I/System.out(17558):
> /storage/emulated/0/DCIM/Camera/20150428_190759.jpg 04-29
> 11:55:44.450: I/System.out(17558):
> /storage/emulated/0/DCIM/Camera/20150428_190756.jpg 04-29
> 11:55:44.450: I/System.out(17558):
> /storage/emulated/0/DCIM/Camera/20150428_190754.jpg 04-29
> 11:55:44.450: I/System.out(17558):
> /storage/emulated/0/DCIM/Camera/20150428_190745.jpg 04-29
> 11:55:44.450: I/System.out(17558):
> /storage/emulated/0/DCIM/Camera/20150428_190742.jpg 04-29
> 11:55:44.450: I/System.out(17558):
> /storage/emulated/0/DCIM/Camera/20150428_190730.jpg 04-29
> 11:55:44.450: I/System.out(17558):
> /storage/emulated/0/DCIM/Camera/20150428_190724.jpg 04-29
> 11:55:44.450: I/System.out(17558):
> /storage/emulated/0/DCIM/Camera/20150428_190722.jpg 04-29
> 11:55:44.450: I/System.out(17558):
> /storage/emulated/0/DCIM/Camera/20150428_190717.jpg 04-29
> 11:55:44.450: I/System.out(17558):
> /storage/emulated/0/DCIM/Camera/20150428_190713.jpg 04-29
> 11:55:44.450: I/System.out(17558):
> /storage/emulated/0/DCIM/Camera/20150428_190709.jpg 04-29
> 11:55:44.450: I/System.out(17558):
> /storage/emulated/0/DCIM/Camera/20150428_182706.jpg 04-29
> 11:55:44.450: I/System.out(17558):
> /storage/emulated/0/DCIM/Camera/20150426_195510.jpg 04-29
> 11:55:44.450: I/System.out(17558):
> /storage/emulated/0/DCIM/Camera/20150426_195506.jpg 04-29
> 11:55:44.450: I/System.out(17558):
> /storage/emulated/0/DCIM/Camera/20150426_195504.jpg 04-29
> 11:55:44.450: I/System.out(17558):
> /storage/emulated/0/DCIM/Camera/20150426_195438.jpg 04-29
> 11:55:44.455: I/System.out(17558):
> /storage/emulated/0/DCIM/Camera/20150426_195059.jpg 04-29
> 11:55:44.455: I/System.out(17558):
> /storage/emulated/0/DCIM/Camera/20150426_195057.jpg 04-29
> 11:55:44.455: I/System.out(17558):
> /storage/emulated/0/DCIM/Camera/20150426_195055.jpg 04-29
> 11:55:44.455: I/System.out(17558):
> /storage/emulated/0/DCIM/Camera/20150426_195012.jpg 04-29
> 11:55:44.455: I/System.out(17558):
> /storage/emulated/0/DCIM/Camera/20150426_195008.jpg 04-29
> 11:55:44.455: I/System.out(17558):
> /storage/emulated/0/DCIM/Camera/20150426_195007.jpg 04-29
> 11:55:44.455: I/System.out(17558):
> /storage/emulated/0/DCIM/Camera/20150426_195005.jpg 04-29
> 11:55:44.455: I/System.out(17558):
> /storage/emulated/0/DCIM/Camera/20150426_194905.jpg 04-29
> 11:55:44.455: I/System.out(17558):
> /storage/emulated/0/DCIM/Camera/20150426_194845_HDR.jpg 04-29
> 11:55:44.455: I/System.out(17558):
> /storage/emulated/0/DCIM/Camera/20150426_194836_HDR.jpg 04-29
> 11:55:44.455: I/System.out(17558):
> /storage/emulated/0/DCIM/Camera/20150426_194733.jpg