#### ZIP

#### Synopsis

    HELP:   Read a ZIP archive block-oriented
    TYPE:   OBJECT
    SYNTAX: ZIP(NET.{},NAME/FILE['str'/STREAM/DUMMY...],MEMBER='str',BLKSIZ=num,REMOVE,PREPRO[()...],POSTPRO/PSTPRO[()...])

#### Description

This method reads members from a ZIP or Zip64 archive. The FIO.ZIP() method does not decompress files from the archive. You must use it in conjunction with CNV.ZIP() or a dedicated decompression converter to get the decompressed data. When reading a deflated file from a ZIP archive without decompression, a GZIP file is the result. The same is valid for BZIP2 compressed archive members.

By activating the REMOVE switch, the file is deleted from the archive after the extracted file was successfully written. If no member is left in the archive, the ZIP file itself is deleted. If there are still members in the ZIP file, a reorganized version of the ZIP file is left behind without the files that have been processed successfully.

This re-organization requires a temporary file in the background. On z/OS it will be allocated a memory file in the hyper space. For huge archives it is not recommended to use the remove switch.

#### Arguments

- `STRING: NAME/FILE['str'/STREAM/DUMMY...] - Name/URL of ZIP file to read [required]`
  - `STREAM - Read from stdin or write to stdout`
  - `DUMMY - Read EOF or write nothing`
- `STRING: MEMBER='str' - Name or index of the member in the ZIP archive`