一个zip文件解压后是一个bin文件,用java如何将这个zip文件里的数据存到指定的txt文件中
时间: 2023-05-28 22:04:12 浏览: 141
可以使用Java自带的ZipInputStream和FileOutputStream类来实现这个功能。具体步骤如下:
1. 创建ZipInputStream对象并指定要解压的zip文件路径。
2. 使用ZipInputStream的getNextEntry()方法获取zip文件中的每个文件。
3. 使用FileOutputStream创建一个新的txt文件,并将ZipInputStream中的数据写入该文件。
4. 重复步骤2和3直到所有文件都被解压。
代码示例:
```java
import java.io.*;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
public class UnzipExample {
public static void main(String[] args) throws IOException {
// 指定要解压的zip文件路径
String zipFilePath = "example.zip";
// 指定要解压到的文件夹路径
String outputFolder = "output/";
// 创建ZipInputStream对象
ZipInputStream zipInputStream = new ZipInputStream(new FileInputStream(zipFilePath));
// 循环解压每个文件
ZipEntry entry = zipInputStream.getNextEntry();
while (entry != null) {
// 创建输出文件路径
String outputPath = outputFolder + entry.getName();
// 创建输出文件夹
File outputFile = new File(outputPath);
outputFile.getParentFile().mkdirs();
// 创建输出文件
FileOutputStream outputStream = new FileOutputStream(outputFile);
// 读取ZipInputStream中的数据并写入输出文件
byte[] buffer = new byte[1024];
int length;
while ((length = zipInputStream.read(buffer)) > 0) {
outputStream.write(buffer, 0, length);
}
// 关闭输出文件流
outputStream.close();
// 继续解压下一个文件
entry = zipInputStream.getNextEntry();
}
// 关闭ZipInputStream流
zipInputStream.close();
}
}
```
注意:解压后的文件可能是二进制文件,需要根据具体情况将其转换成文本文件。
阅读全文