Compactar Planilha com Java 1.4

Boa tarde amigos,

Tenho um metodo que retorna um list com muita informação e depois em outro metodo é iterado e inserido em uma planilha, mas o arquivo de download está muito grande e queria implementar um metodo para zipar este arquivo. Algum amigo tem um exemplo?

Vlw.

Att,
Igor

Estou tentando usar o código abaixo, mas ele esta zipando os arquivos do diretorio on esta a classe, queria que o parametro de entrada do metodo fosse a planilha e retornasse essa planilha zipada… Como posso fazer issto amigos?

// ------------------------------------------------ Constantes    
	static final int TAMANHO_BUFFER = 2048; // 2kb   


   // ------------------------------------------------ Métodos públicos    
   public void compactar (String arqSaida) {    

	  int i, cont;    
      byte[] dados = new byte[TAMANHO_BUFFER];    
      String arquivos[]; 
      File f = null;    
      BufferedInputStream origem = null;    
      FileInputStream streamDeEntrada = null;    
      FileOutputStream destino = null;    
      ZipOutputStream saida = null;    
      ZipEntry entry = null;   

      try {

         destino = new FileOutputStream(arqSaida);    
         saida = new ZipOutputStream(new BufferedOutputStream(destino));   
         f = new File("."); // Todos os arquivos da pasta onde a classe está    
         arquivos = f.list();   

         for (i = 0; i < arquivos.length; i++) {

            File arquivo = new File(arquivos[i]);    

            if (arquivo.isFile() && !(arquivo.getName()).equals(arqSaida)) {    
              
            	System.out.println("Compactando: " + arquivos[i]);    

               streamDeEntrada = new FileInputStream(arquivo);
               origem = new BufferedInputStream(streamDeEntrada, TAMANHO_BUFFER);    
               entry = new ZipEntry(arquivos[i]);    
               saida.putNextEntry(entry);   

               while((cont = origem.read(dados, 0, TAMANHO_BUFFER)) != -1) { 
                 
                  saida.write(dados, 0, cont);
                      
               }    

               origem.close();    
            }    
         }    

         saida.close();   

      } catch(Exception e) {    
         e.printStackTrace();    
      }    
   }//fim compactar()

Vlw…