android 压缩文件
时间: 2024-02-10 10:09:33 浏览: 89
android质量压缩.so文件
在Android开发中,压缩文件是一种常见的操作,可以用于将多个文件或文件夹打包成一个压缩文件,或者解压缩已有的压缩文件。Android提供了一些类和方法来实现文件的压缩和解压缩。
1. 压缩文件:
Android中常用的压缩文件格式是ZIP格式,可以使用java.util.zip包中的类来进行压缩操作。以下是一个简单的示例代码:
```java
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
public class ZipUtils {
public static void zipFile(String sourceFilePath, String zipFilePath) {
try {
FileOutputStream fos = new FileOutputStream(zipFilePath);
ZipOutputStream zos = new ZipOutputStream(fos);
File file = new File(sourceFilePath);
FileInputStream fis = new FileInputStream(file);
ZipEntry zipEntry = new ZipEntry(file.getName());
zos.putNextEntry(zipEntry);
byte[] buffer = new byte[1024];
int length;
while ((length = fis.read(buffer)) > 0) {
zos.write(buffer, 0, length);
}
fis.close();
zos.closeEntry();
zos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
上述代码中的`zipFile`方法接收两个参数,`sourceFilePath`表示要压缩的文件路径,`zipFilePath`表示生成的压缩文件路径。该方法会将指定的文件压缩成一个ZIP文件。
2. 解压缩文件:
同样使用java.util.zip包中的类来进行解压缩操作。以下是一个简单的示例代码:
```java
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
public class UnzipUtils {
public static void unzipFile(String zipFilePath, String destDirectory) {
try {
File destDir = new File(destDirectory);
if (!destDir.exists()) {
destDir.mkdir();
}
ZipInputStream zis = new ZipInputStream(new FileInputStream(zipFilePath));
ZipEntry zipEntry = zis.getNextEntry();
while (zipEntry != null) {
String fileName = zipEntry.getName();
File newFile = new File(destDirectory + File.separator + fileName);
FileOutputStream fos = new FileOutputStream(newFile);
byte[] buffer = new byte[1024];
int length;
while ((length = zis.read(buffer)) > 0) {
fos.write(buffer, 0, length);
}
fos.close();
zipEntry = zis.getNextEntry();
}
zis.closeEntry();
zis.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
上述代码中的`unzipFile`方法接收两个参数,`zipFilePath`表示要解压缩的ZIP文件路径,`destDirectory`表示解压缩后的目标文件夹路径。该方法会将指定的ZIP文件解压缩到目标文件夹中。
以上是Android中压缩文件和解压缩文件的简单示例代码,你可以根据自己的需求进行修改和扩展。
阅读全文