一个zip文件解压后是一个bin文件,用java如何将这个zip文件里的数据存到指定名字的txt文件中
时间: 2023-05-28 19:04:12 浏览: 143
用代码解压zip文件里面的指定文件
5星 · 资源好评率100%
可以使用Java的ZipInputStream类来读取zip文件中的数据,并将其写入到指定的txt文件中。具体步骤如下:
1. 创建ZipInputStream对象,传入zip文件的输入流。
2. 遍历zip文件中的每个entry,获取其输入流。
3. 创建输出流,将entry的数据写入到输出流中。
4. 关闭输入流和输出流。
示例代码如下:
```java
import java.io.*;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
public class UnzipFile {
public static void main(String[] args) {
String zipFileName = "example.zip"; // zip文件名
String txtFileName = "example.txt"; // 输出的txt文件名
try {
// 创建ZipInputStream对象
ZipInputStream zipInputStream = new ZipInputStream(new FileInputStream(zipFileName));
// 遍历zip文件中的每个entry
ZipEntry zipEntry = zipInputStream.getNextEntry();
while (zipEntry != null) {
// 获取entry的输入流
InputStream inputStream = zipInputStream;
// 如果entry不是目录,则创建输出流,将entry的数据写入到输出流中
if (!zipEntry.isDirectory()) {
OutputStream outputStream = new FileOutputStream(txtFileName);
byte[] buffer = new byte[4096];
int bytesRead = -1;
while ((bytesRead = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
outputStream.close();
}
// 关闭entry的输入流
inputStream.close();
// 获取下一个entry
zipEntry = zipInputStream.getNextEntry();
}
// 关闭ZipInputStream
zipInputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
这段代码会将zip文件中的第一个文件解压到指定的txt文件中。如果zip文件中有多个文件,可以在遍历entry时获取每个entry的名称,根据名称来决定将哪些文件解压到txt文件中。
阅读全文