[Resolvido]Como zipar pastas e arquivos em java?

Olá a todos!

Estou com um problema no momento em que crio um arquivo zip de um diretório utilizando um código java. Enquanto conter somente arquivos neste diretório ele funciona bem, mas no momento em que coloco uma pasta (mesmo estando vazia) da erro. Estou utilizando o Eclipse no SO Windows 7.
Alguém sabe o porque disso?

try { inFolder = new File("C:\\SD\\Cliente\\Arquivos"); outFolder = new File("C:\\SD\\Cliente\\Backup\\" + date + ".zip"); ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(new FileOutputStream(outFolder))); BufferedInputStream in = null; byte[] data = new byte[1000]; String files[] = inFolder.list(); for (int i = 0; i < files.length; i++) { in = new BufferedInputStream(new FileInputStream(inFolder.getPath() + "/" + files[i]), 1000); out.putNextEntry(new ZipEntry(files[i])); int count; while ((count = in.read(data, 0, 1000)) != -1) { out.write(data, 0, count); } out.closeEntry(); } out.flush(); out.close(); } catch (Exception e) { e.printStackTrace(); }

Desde já Obrigado pela atenção!

Seu método necessita ser recursivo, dá uma olhada nesse exemplo;

http://www.java2s.com/Code/Java/File-Input-Output/UseJavacodetozipafolder.htm

Valeu luksrn, funcionou.

Só uma coisa, tem como não ficasse salvo o nome do diretório que foi passado como parâmetro dentro do zip, somente os arquivos que estão dentro do diretório?
Por exemplo se tiver C:\arquivos\ ele vai ficar com a palavra arquivos dentro do zip e dentro disso os arquivos e pastas. Gostaria que ficasse somente os arquivos e pastas que estão dentro desse diretório.

Obrigado!