zip文件的读取
首先,读取zip文件,我们需要用到ZipinputStream类,它是FilterInputSteram类的子类,具有直接读取zip文件内容的功能。
其次,在使用ZipInputStream时,首先应当传入一个FileInputStream作为文件源(因为ZipinputStream属于包装器,它不可以直接对zip文件进行操作)。当创建好ZipInputStream对象后,需要设定一个循环调用 getNextEntry() ,直到返回 null ,表示 zip 流结束。(getNextEntry() 的返回值类型为ZipEntry ,一个 ZipEntry 表示一个压缩文件或目录,如果是压缩文件,我们就用 read() 方法不断读取,直到返回 -1。 -1代表结束)
public class Test02 {
public static void main(String[] args) {
try (ZipInputStream in = new ZipInputStream(new FileInputStream("C:\\Users\\Administrator\\Desktop\\20220531.zip"),Charset.forName("gbk"))) {
ZipEntry entry = null;
//获取压缩文件中的每个子文件
while((entry = in.getNextEntry()) != null) {
System.out.println(entry.getName());
//判断文件是否为文件夹