一个zip文件解压后是一个bin文件,用java如何将这个zip文件里的数据存到指定的txt文件中
时间: 2023-05-29 14:01:49 浏览: 290
cmd.zip
可以使用Java提供的ZipInputStream类和FileOutputStream类来实现该功能。具体步骤如下:
1. 创建一个ZipInputStream对象,将zip文件作为输入流读入。
2. 遍历ZipInputStream中的每个ZipEntry,如果ZipEntry是一个文件,则使用FileOutputStream创建一个新的txt文件并将ZipEntry的内容写入该文件中。
3. 关闭ZipInputStream和FileOutputStream,释放资源。
示例代码如下:
```java
import java.io.*;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
public class Unzip {
public static void main(String[] args) throws IOException {
String zipFilePath = "path/to/zip/file.zip";
String outputFolderPath = "path/to/output/folder";
unzip(zipFilePath, outputFolderPath);
}
public static void unzip(String zipFilePath, String outputFolderPath) throws IOException {
try (ZipInputStream zipInputStream = new ZipInputStream(new FileInputStream(zipFilePath))) {
ZipEntry zipEntry;
byte[] buffer = new byte[1024];
while ((zipEntry = zipInputStream.getNextEntry()) != null) {
if (zipEntry.isDirectory()) {
continue;
}
String fileName = zipEntry.getName();
File outputFile = new File(outputFolderPath, fileName);
outputFile.getParentFile().mkdirs();
try (OutputStream outputStream = new FileOutputStream(outputFile)) {
int length;
while ((length = zipInputStream.read(buffer)) > 0) {
outputStream.write(buffer, 0, length);
}
}
}
}
}
}
```
其中,zipFilePath为待解压的zip文件路径,outputFolderPath为解压后txt文件存放的目录路径。在该示例代码中,遍历ZipInputStream中的每个ZipEntry时,通过ZipEntry的getName()方法获取文件名,并通过OutputStream将文件内容写入新的txt文件中。最后,关闭ZipInputStream和FileOutputStream。
阅读全文