public void preparePath(ServletContext context) {
   SimpleDateFormat sdf = new SimpleDateFormat("/yyyy/MM/dd/");
   String basePath = context.getRealPath("/WEB-INF/weibo_files");
   String subPath = sdf.format(new Date());
   path = basePath + subPath + UUID.randomUUID().toString(); // avoids same
   // name
   // directory
   // if not exists then create it
   File dir = new File(path);
   if (!dir.exists()) {
     dir.mkdirs();
   }
   // copy style files into it
   URL tamplateUrl = this.getClass().getResource("/templates/style");
   try {
     FileUtils.copyFile(new File(tamplateUrl.toURI()), dir);
   } catch (URISyntaxException e) {
     LOG.error(e.getMessage());
   } catch (IOException e) {
     LOG.error("occurred a errer when copy style files " + e);
   }
 }
  @Override
  public JcUser packageZip(JcUser jcUser) {
    try {
      String weibo = compositeWeibo(jcUser);
      byte[] data = weibo.getBytes();
      BufferedOutputStream stream =
          new BufferedOutputStream(new FileOutputStream(new File(path, "index.html")));
      stream.write(data);
      stream.close();

      // package files in zip
      String zipPath = path + ".zip";
      File zip = new File(zipPath);
      FileUtils.zipFile(new File(path), zip);
      jcUser.setZipPath(zipPath);
      float fileSize = zip.length();
      jcUser.setFileSize(fileSize / (1024 * 1024));
    } catch (FileNotFoundException e) {
      LOG.debug("not found file' \n" + e);
    } catch (IOException e2) {
      LOG.debug("dowload zip function occured errer: \n" + e2);
    }
    return jcUser;
  }