new ZipFile()
ZipFile representa um arquivo, no formato zip, localizado no sistema de arquivos do sistema operacional. Todas as funções aceitam apenas caminhos absolutos de arquivos e pastas. Caso haja algum erro na execução de alguma função, será levantada uma exceção.
Methods
-
close()
-
Fecha o arquivo zip.
-
extract(path, pathToExtract)
-
Extrai um arquivo do arquivo zip. Se deseja-se extrair um arquivo de nome "file" que se encontra dentro da pasta de nome "folder" para a pasta "C:\minhasImagens", deve-se fazer:
Parameters:
Name Type Description path
string Caminho do arquivo a ser descompactado. O caminho passado deve ser o caminho relativo de dentro do arquivo zip.
pathToExtract
string Caminho da pasta de onde se deseja extrair o arquivo especificado.
Example
var ZipFile = require('@nginstack/engine/lib/compress/ZipFile'); var zip = new ZipFile(); zip.open('C:\\arquivos\\meuZip.zip', 'unzip'); zip.extract('folder/file', 'C:\\minhasImagens'); zip.close();
-
extractAll(path)
-
Extrai todo o conteúdo de um arquivo zip.
Parameters:
Name Type Description path
string Caminho da pasta de onde se deseja extrair o conteúdo do arquivo zip.
-
getFileNames()
-
Obtém os nomes de todos os arquivos dentro de um arquivo zip. O conteúdo da variável "nomes", após a execução do código abaixo, poderia ser, por exemplo, ["folder/file2", "file1"].
Returns:
Array com os nomes de todos os arquivos dentro do arquivo zip.
- Type
- Array.<string>
Example
var ZipFile = require('@nginstack/engine/lib/compress/ZipFile'); var zip = new ZipFile(); zip.open('C:\\arquivos\\meuZip.zip', 'unzip'); var nomes = zip.getFileNames(); zip.close();
-
open(path, mode [, options])
-
Abre um arquivo zip já existente, ou cria um novo arquivo zip.
Parameters:
Name Type Argument Description path
string Caminho do sistema de arquivos do arquivo a ser aberto ou criado.
mode
'create' | 'zip' | 'unzip' Modo em que o arquivo será aberto. Os valores aceitos são:
create
: Um novo arquivo zip, no caminho especificado, é criado e o arquivo é aberto para compactação de arquivos. Nesse modo, se o arquivo já existe, ele é sobrescrito.zip
: O arquivo é aberto para compactação de arquivos.unzip
: O arquivo é aberto para a extração de arquivos ou leitura de informações.
options
ZipFileOptions <optional>
Opções de compressão. Aqui podem ser definidas as configurações para compressão. As opções que podem ser configuradas são:
method
: Método de compressão. Pode ser "deflate", "bzip2" ou "zstd". O valor padrão é "deflate".level
: Nível de compressão, representado por um número. Quanto mais alto o nível, maior a compressão. O intervalo de valores possíveis varia de acordo com o método utilizado.
Essas opções são utilizadas na compressão, e portanto apenas nos modos "create" e "zip", sendo ignoradas no modo "unzip".
Example
var ZipFile = require('@nginstack/engine/lib/compress/ZipFile'); var zip = new ZipFile(); // Criando um arquivo Zip e compactando file1. var zip = new ZipFile(); zip.open('C:\\arquivos\\meuZip.zip', 'create'); zip.write('C:\\file1'); zip.close(); // Abrindo um arquivo Zip existente e adicionando file2, // utilizando ZStandard (zstd) no nível 9 de compressão. zip.open('C:\\arquivos\\meuZip.zip', 'zip', { method: 'zstd', level: 9 }); zip.write('C:\\file2'); zip.close();
-
write(paths)
-
Compacta arquivos e/ou pastas em um arquivo zip.
Parameters:
Name Type Description paths
string | Array.<string> Caminhos dos arquivos ou pastas a serem compactados.
Example
var ZipFile = require('@nginstack/engine/lib/compress/ZipFile'); // No exemplo abaixo, compactamos o arquivo file1 e a pasta folder // ambos localizados na raiz C:\ do sistema operacional: var zip = new ZipFile(); zip.open('C:\\arquivos\\meuZip.zip', 'create'); zip.write(['C:\\file1', 'C:\\folder\\']); zip.close();
-
writeString(string, fileName)
-
Compacta um arquivo, em um arquivo zip, cujo conteúdo é a string especificada.
Parameters:
Name Type Description string
string String a ser incluída no arquivo que será compactado.
fileName
string Nome do arquivo que será compactado.