gpt4 book ai didi

android - 如何在android中压缩文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:42:04 25 4
gpt4 key购买 nike

我需要以编程方式压缩文本文件。

我在文件 目录(context.getFilesDirectory()) 中创建了文本文件,
我想压缩文本文件并将压缩文件添加到 Intent 对象。

请提供一段代码,说明如何在 android 中压缩文件。

最佳答案

如果您在 SDCard 中有一个 FOLDER 并且您想要创建它的 zip,那么只需将此代码复制并粘贴到您的项目中,它就会为您提供一个 zip 文件夹。此代码将创建文件夹的 zip,其中仅包含不应包含嵌套文件夹的文件。您可以为自己进一步修改。

 String []s=new String[2]; //declare an array for storing the files i.e the path of your source files
s[0]="/mnt/sdcard/Wallpaper/pic.jpg"; //Type the path of the files in here
s[1]="/mnt/sdcard/Wallpaper/Final.pdf"; // path of the second file

zip((s,"/mnt/sdcard/MyZipFolder.zip"); //call the zip function


public void zip(String[] files, String zipFile)
{
private String[] _files= files;
private String _zipFile= zipFile;

try {
BufferedInputStream origin = null;
FileOutputStream dest = new FileOutputStream(_zipFile);

ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(dest));

byte data[] = new byte[BUFFER];

for(int i=0; i < _files.length; i++) {
Log.d("add:",_files[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();
}

}

Also add permissions in android-manifest.xml using this code

  <uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />

关于android - 如何在android中压缩文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6522356/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com