Problema ao "Zipar" diretório.[Resolvido]

Boa tarde pessoal, Estou com o seguinte problema Eu tenho um Diretorio que dentro dele contem vários outros diretório e quando coloco para compacta-los a primeira pasta passa mais a segunda não passa. segue o código


    public static void compactarParaZip(String arqSaida,String arqEntrada) throws IOException{
       JOptionPane.showMessageDialog(null, "Aguarde o arquivo de backup está sendo compactado!");
        int cont;
       byte[] dados = new byte[TAMANHO_BUFFER];
       String Arquivos[];           
       BufferedInputStream origem = null;
       FileInputStream streamDeEntrada = null;
       FileOutputStream destino = null;
       ZipOutputStream saida = null;
       ZipEntry entry = null;
       
         try {
            destino = new FileOutputStream(new File(arqSaida));
                        saida = new ZipOutputStream(new BufferedOutputStream(destino));
                        File file = new File(arqEntrada);


                    if(file.isDirectory()){
                        JOptionPane.showMessageDialog(null, "Compactando Arquivo!");
                        for (File arquivos : file.listFiles()) {
                            streamDeEntrada = new FileInputStream(arquivos);
                        origem = new BufferedInputStream(streamDeEntrada, TAMANHO_BUFFER);
                        entry = new ZipEntry(arquivos.getName());
                    saida.putNextEntry(entry);
                    while((cont = origem.read(dados, 0, TAMANHO_BUFFER)) != -1) {
                        saida.write(dados, 0, cont);
                    }}
            }else{
                JOptionPane.showMessageDialog(null, "É um arquivo");
                streamDeEntrada = new FileInputStream(file);
                origem = new BufferedInputStream(streamDeEntrada, TAMANHO_BUFFER);
                entry = new ZipEntry(file.getName());
                saida.putNextEntry(entry);
                while((cont = origem.read(dados, 0, TAMANHO_BUFFER)) != -1) {
                    saida.write(dados, 0, cont);
                }
            }
               Log.info("Arquivo de Backup criado!");       
            origem.close();
            saida.close();
        } catch(IOException e) {
             Log.Warning("Arquivo de Backup Não Compactado pelo motivo: ", e);
            throw new IOException(e.getMessage());
           
        }
   }
    

Alguém poderia me ajudar?

Dá uma olhada nesse site la explica com compactar e descompactar.

http://www.softblue.com.br/blog/home/postid/2/ZIP/UNZIP+EM+JAVA

http://www.guj.com.br/articles/181

valeu vou testar e coloco algo depois aqui. Obrigado!

Pegou! seguir o tutorial do guj e funcionou, valeu galera.