Bom dia, senhores,
estou tentando compactar um arquivo xml bem grande (cerca de 65MB), o trecho a seguir faz isso:
[code]
private int TAMANHO_BUFFER = 2048;
private byte[] dados = new byte[TAMANHO_BUFFER];
…
BufferedInputStream origem = null;
FileOutputStream destino = new FileOutputStream(new File(this.pathArquivoZip));
ZipOutputStream zipOutputStream = new ZipOutputStream(new BufferedOutputStream(destino));
FileInputStream fileInputStream = new FileInputStream(this.pathArquivoXml);
origem = new BufferedInputStream(fileInputStream, this.TAMANHO_BUFFER);
ZipEntry entrada = new ZipEntry(this.pathArquivoXml);
zipOutputStream.putNextEntry(entrada);
int contador;
while ((contador = origem.read(this.dados, 0, this.TAMANHO_BUFFER)) != -1) {
zipOutputStream.write(this.dados, 0, contador);
}
origem.close();
zipOutputStream.close();[/code]
O código executa sem exceções, o arquivo ZIP é gerado, porém fica vazio (como se nenhum arquivo tivesse sido zipado). O que estou fazendo de errado? Já tentei aumentar o buffer, mas nada funciona.
Obrigado pela atenção!