#vulnerable code 
                             public void downloadCheckedFilesZip(final HttpServletRequest request, final HttpServletResponse response)
			throws Exception {
		final String zipname = request.getParameter("zipId");
		if (zipname != null && !zipname.equals("ERROR")) {
			final String tfPath = ConfigureReader.instance().getTemporaryfilePath();
			final File zip = new File(tfPath, zipname);
			if (zip.exists()) {
				response.setContentType("application/force-download");
				response.setHeader("Content-Length", "" + zip.length());
				response.addHeader("Content-Disposition", "attachment;fileName=" + URLEncoder
						.encode("kiftd_" + ServerTimeUtil.accurateToDay() + "_\u6253\u5305\u4e0b\u8f7d.zip", "UTF-8"));
				final FileInputStream fis = new FileInputStream(zip);
				final BufferedInputStream bis = new BufferedInputStream(fis);
				final OutputStream out = (OutputStream) response.getOutputStream();
				final byte[] buffer = new byte[ConfigureReader.instance().getBuffSize()];
				int count = 0;
				while ((count = bis.read(buffer)) != -1) {
					out.write(buffer, 0, count);
				}
				bis.close();
				fis.close();
				zip.delete();
			}
		}
	} 
                            #location 19 
                            #vulnerability type RESOURCE_LEAK
#fixed code
                             public void downloadCheckedFilesZip(final HttpServletRequest request, final HttpServletResponse response)
			throws Exception {
		final String zipname = request.getParameter("zipId");
		if (zipname != null && !zipname.equals("ERROR")) {
			final String tfPath = ConfigureReader.instance().getTemporaryfilePath();
			final File zip = new File(tfPath, zipname);
			String fname = URLEncoder
					.encode("kiftd_" + ServerTimeUtil.accurateToDay() + "_\u6253\u5305\u4e0b\u8f7d.zip", "UTF-8");
			if (zip.exists()) {
				downloadRangeFile(request, response, zip, fname);
				zip.delete();
			}
		}
	}