ZIP Read archive
ZIP Read archive ( zipFile : 4D.File { ; password : Text }) : 4D.ZipArchive
| Parâmetro | Tipo | Descrição | |
|---|---|---|---|
| zipFile | 4D. File | → | Arquivos Zip | 
| senha | Text | → | Senha do arquivo ZIP, se houver | 
| Resultados | Parâmetros | ← | Objeto arquivo | 
História
| Release | Mudanças | 
|---|---|
| 18 | Adicionado | 
Descrição
O comando ZIP Read archive recupera o conteúdo do zipFile e o retorna como um objeto 4D.ZipArchive.
O comando não descompacta o arquivo ZIP, apenas oferece uma visão de seus conteúdos. Para extrair os conteúdos do arquivo, precisa usar métodos como file.copyTo() ou folder.copyTo().
Passe um objeto 4D.File referenciando o arquivo ZIP comprimido no parâmetro zipFile. The target archive file will be opened until the ZIP Read archive has finished executing and all contents/references have been extracted/released, then it will be closed automatically.
If the zipFile is password protected, you need to use the optional password parameter to provide a password. Se uma senha for exigida mas não for passada, quando tentar ler os conteúdos do arquivo um erro será gerado.
Objeto arquivo
O objeto 4D.ZipArchive retornado contém uma única propriedade root cujo valor é um objeto 4D.ZipFolder. Esta pasta descreve todo o conteúdo do ficheiro ZIP.
Exemplo
Para recuperar e ver os conteúdos de um objeto ZIP file:
 var $archive : 4D.ZipArchive
 var $path : 4D.File
 $path:=Folder(fk desktop folder).file("MyDocs/Archive.zip")
 $archive:=ZIP Read archive($path)
Para recuperar a lista dos arquivos e pastas no arquivo:
 $folders:=$archive.root.folders()
 $files:=$archive.root.files()
Para extrair da pasta root:
 If($files[$i].extension=".txt")
    $txt:=$files[$i].getText()
 Else
    $blob:=$files[$i].getContent()
 End if
Para ler todos os conteúdos de um arquivo sem extraí-lo da pasta root:
  //extract a file
 $folderResult:=$files[$i].copyTo(Folder(fk desktop folder).folder("MyDocs"))
  //extract all files
 $folderResult:=$archive.root.copyTo(Folder(fk desktop folder).folder("MyDocs"))
Veja também
ZipArchive Class
ZipFile Class
ZipFolder Class
ZIP Create archive
Propriedades
| Número de comando | 1637 | 
| Thread safe | ✓ |