Dica rápida: Aprenda como Compactar Arquivo com o JavaZip

Dica rápida: Aprenda como Compactar Arquivo com o JavaZip

Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /home/feltexco/public_html/felix/wp-content/plugins/wp-syntax/wp-syntax.php on line 380

Dica rápida: Aprenda como Compactar Arquivo com o JavaZip

Olá amigos, hoje vamos aprender como Compactar Arquivo com o JavaZip. Essa poderosa funcionalidade nativa do Java que pode nos ajudar muito quando precisamos diminuir os tamanho de arquivos com a linguagem Java. Veja também como descompactar arquivos em java aqui.


Cria a seguinte estrutura de pastas e arquivo no seu computador:

1. Criação dos arquivos de exemplo

  C:\temp\arquivo\dados.txt
  C:\temp\novapasta

2. Exemplo de código

Em seguida crie uma classe com o código disponível abaixo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package br.com.feltex.zip;
 
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
 
public class MeuZIP {
 
	private static final String INPUT_FILE = "C:/temp/arquivo/dados.txt";
	private static final String OUTPUT_FILE = "C:/temp/novapasta/dados.zip";
 
	// Método principal que inicia nosso sistema
	public static void main(String[] args) {
		zipFile(new File(INPUT_FILE), OUTPUT_FILE);
	}
 
	public static void zipFile(File inputFile, String zipFilePath) {
		try {
 
			FileOutputStream fileOutputStream = new FileOutputStream(
					zipFilePath);
			ZipOutputStream zipOutputStream = new ZipOutputStream(
					fileOutputStream);
 
			// Um ZipEntry é um apontamento para um arquivo ZIP
			ZipEntry zipEntry = new ZipEntry(inputFile.getName());
			zipOutputStream.putNextEntry(zipEntry);
 
			FileInputStream fileInputStream = new FileInputStream(inputFile);
			byte[] buf = new byte[1024];
			int bytesRead;
 
			// Realiza a leitura dos dados do arquivo
			// e escreve no stream de saída que será o Zip
			while ((bytesRead = fileInputStream.read(buf)) > 0) {
				zipOutputStream.write(buf, 0, bytesRead);
			}
 
			// Fecha o arquivo ZipEntry que armazena o conteúdo
			// do arquivo
			zipOutputStream.closeEntry();
			zipOutputStream.close();
			fileOutputStream.close();
 
			System.out.println("Arquivo de entrada: "
					+ inputFile.getCanonicalPath() + " saida do arquivo ZIP:"
					+ zipFilePath);
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

Links relacionados


Zip site oficial do Java
Aprenda como Descompactar Arquivo com o JavaZip

Não deixe de curtir este post nas redes sociais. Dê a sua contribuição social e ajude o autor:

Deixe um comentário