欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java中读取jar文件中的内容

程序员文章站 2022-03-15 14:53:31
...
//注意:该方法是servlet中的init方法

public void init(ServletConfig config) throws ServletException {
		String path = config.getServletContext().getRealPath("/");
		System.out.println(path);

		JarFile jarFile = null;
		path = path + "web-inf" + File.separator + "lib" + File.separator + "pcis_rules.jar";
		try {
			File file = new File(path);
			jarFile = new JarFile(file);
			Enumeration<JarEntry> enum1 = jarFile.entries();
			while (enum1.hasMoreElements()) {
				JarEntry obj = enum1.nextElement();
				
				if(obj.isDirectory())//如果是目录进行下一次循环��Ŀ¼
					continue;
				
				String fileName = obj.getName();
				if(fileName.lastIndexOf(".xls")==-1)//如果不是excel文件则进行下一次循环
					continue;
				
				//只缓存 商业车险 北分机构下的保费计算规则
				//如果要缓存所有的规则则下面的if判断该去掉
				if(fileName.lastIndexOf("premium/0326/02")==-1)
					continue;
				
				InputStream   is   =  jarFile.getInputStream(obj);  
				fileName = "/"+fileName;
				System.out.println(fileName);
				DrlPackageManager.initRules(fileName, is);
			}

		} catch (Exception e) {
			e.printStackTrace();
		}
	}