private static void fileZip(ZipOutputStream out, File file)
            throws IOException {

        //
        if (file.isDirectory()) {
            //
            log.info("Dir:" + file.getName());
            for (File tmp : file.listFiles()) {
                fileZip(out, tmp);
            }
        } else {
            //
            log.info("path:" + file.getPath());
            log.info("    " + "File name:" + file.getName());
            //
            BufferedReader in = new BufferedReader(new InputStreamReader(
                    new FileInputStream(file), "ISO8859_1"));

            out.putNextEntry(new ZipEntry(file.getPath()));
            int c;
            while ((c = in.read()) != -1) {
                out.write(c);
            }

            in.close();
        }

    }