Saltar para o conteúdo principal
Versão: Próximo

ZIP Read archive

ZIP Read archive ( zipFile : 4D.File { ; password : Text }) : 4D.ZipArchive

ParâmetroTipoDescrição
zipFile4D. FileArquivos Zip
senhaTextSenha do arquivo ZIP, se houver
ResultadosParâmetrosObjeto arquivo
História
ReleaseMudanças
18Adicionado

Descrição

The ZIP Read archive command retrieves the contents of zipFile and returns it as a 4D.ZipArchive object.

O comando não descompacta o arquivo ZIP, apenas oferece uma visão de seus conteúdos. To extract the contents of an archive, you need to use methods such as file.copyTo() or folder.copyTo().

Pass a 4D.File object referencing the compressed ZIP archive in the zipFile parameter. 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