java 读取zip文件的两种方式
Java 读取 ZIP 文件的常见方式有两种:使用 java.util.zip
包中的类,和使用 java.nio.file
中的 FileSystems
类。
方法一:使用 java.util.zip
包中的类
import java.io.InputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import java.util.Enumeration;
public class ReadZipFile {
public static void main(String[] args) throws IOException {
ZipFile zipFile = new ZipFile("example.zip");
Enumeration<? extends ZipEntry> entries = zipFile.entries();
while (entries.hasMoreElements()) {
ZipEntry entry = entries.nextElement();
InputStream inputStream = zipFile.getInputStream(entry);
// 处理 inputStream
inputStream.close();
}
zipFile.close();
}
}
方法二:使用 java.nio.file.FileSystems
类
import java.io.IOException;
import java.nio.file.FileSystems;
import java.nio.file.FileSystem;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.Files;
public class ReadZipFile {
public static void main(String[] args) throws IOException {
final Path path = Paths.get("example.zip");
final FileSystem fileSystem = FileSystems.newFileSystem(path, null);
Files.walk(fileSystem.getPath("/"))
.forEach(filePath -> {
if (Files.isRegularFile(filePath)) {
// 处理 filePath
}
});
fileSystem.close();
}
}
这两种方法都可以读取 ZIP 文件,但是第二种方法使用了更现代的 java.nio.file
API,并且可以更方便地处理文件系统。
评论已关闭