选择文件并在android中压缩它

时间:2015-06-03 07:33:36

标签: android zip

我正在开发一个Android应用程序,需要从存储系统中选择文件并将其压缩,然后运行命令。

我尝试使用以下代码挑选文件:

Intent intent=new Intent();
intent.setType("image/*,video/*");              
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
intent.setAction(Intent.ACTION_GET_CONTENT);                
startActivityForResult(Intent.createChooser(intent,"Select Picture"), 1);

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

文件选择代码看起来很好。但这是一个例子。见link。 Android拥有对压缩和解压缩文件的巨大本机支持。以下是一些可能对您有帮助的例子。

压缩文件

public void zip(String[] _files, String zipFileName) {
    try {
        BufferedInputStream origin = null;
        FileOutputStream dest = new FileOutputStream(zipFileName);
        ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(
                dest));
        byte data[] = new byte[BUFFER];

        for (int i = 0; i < _files.length; i++) {
            Log.v("Compress", "Adding: " + _files[i]);
            FileInputStream fi = new FileInputStream(_files[i]);
            origin = new BufferedInputStream(fi, BUFFER);

            ZipEntry entry = new ZipEntry(_files[i].substring(_files[i].lastIndexOf("/") + 1));
            out.putNextEntry(entry);
            int count;

            while ((count = origin.read(data, 0, BUFFER)) != -1) {
                out.write(data, 0, count);
            }
            origin.close();
        }

        out.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

有关详细说明,请参阅thisthis