查找类在哪个JAR文件中
来源:互联网 发布:腾讯业务充值软件 编辑:程序博客网 时间:2024/04/26 11:08
查找类在哪个JAR文件中
package com.tool.jar;import java.io.File;import java.util.ArrayList;import java.util.Enumeration;import java.util.List;import java.util.zip.ZipEntry;import java.util.zip.ZipFile; /* * 功能:查找类在哪个JAR文件中 * 2012-10-15 * */public class FindInJar {public static void main(String args[]) { String findClass="javax.transaction.UserTransaction"; String jarPath="d:\\lib"; FindInJar findInJar = new FindInJar(findClass); List<?> jarFiles = findInJar.findClass(jarPath, true); if (jarFiles.size() == 0) { System.out.println("Not Found"); } else { for (int i = 0; i < jarFiles.size(); i++) { System.out.println(jarFiles.get(i)); } } } public String className; public ArrayList<String> jarFiles = new ArrayList<String>(); public FindInJar() { } public FindInJar(String className) { this.className = className; } public void setClassName(String className) { this.className = className; } public List<String> findClass(String dir, boolean recurse) { searchDir(dir, recurse); return this.jarFiles; } protected void searchDir(String dir, boolean recurse) { try { File d = new File(dir); if (!d.isDirectory()) { return; } File[] files = d.listFiles(); for (int i = 0; i < files.length; i++) { //System.out.println(files[i]); if (recurse && files[i].isDirectory()) { searchDir(files[i].getAbsolutePath(), true); } else { String filename = files[i].getAbsolutePath(); if (filename.endsWith(".jar")||filename.endsWith(".zip")) { ZipFile zip = new ZipFile(filename); Enumeration<?> entries = zip.entries(); while (entries.hasMoreElements()) { ZipEntry entry = (ZipEntry) entries.nextElement(); String thisClassName = getClassName(entry); if (thisClassName.equals(this.className) || thisClassName.equals(this.className + ".class")) { this.jarFiles.add(filename); //System.out.println(filename); } } } } } } catch (Exception e) { e.printStackTrace(); } } public List<String> getFilenames() { return this.jarFiles; } protected String getClassName(ZipEntry entry) { StringBuffer className = new StringBuffer(entry.getName().replace("/", ".")); return className.toString(); }}
- 查找类在哪个JAR文件中
- 查找类在哪个JAR文件中
- 查找一个类在哪个jar下
- 在目录中查找java类位于哪个jar包中
- 如何定位某个java类在哪个jar文件
- webservice编程中的RPCServiceClient类在哪个jar包中?
- 查找缺少的类在哪个包中
- 类在哪个jar里,在这里
- 查看Class从那个jar文件加载及在jar文件中查找Class
- oracle 11g jdbc jar包在哪个文件目录
- oracle 11g jdbc jar包在哪个文件目录
- grep 用法--查找哪个文件中包含某行字符串
- 在maven仓库中查找jar
- 在压缩文件中查找文件/如何查找java所在的jar包
- 如何在bat文件中查找jar包,动态设置classpath
- 新手问题,AXmlResourceParser这个类在哪个jar包里面
- Java中获取类位于哪个Jar包或者位于哪个目录
- TRACE宏需要在哪个头文件中声明
- 创建一个简单的 eclipse+android+maven 工程
- ubuntu破损的安装包修复
- Phone List(hdu1671字典树)
- POJ-2528-Mayor's posters
- sad a sdasd f
- 查找类在哪个JAR文件中
- 手动设置3G的wifi迷你无线路由
- k-means聚类算法
- 不用派生CTreeCtrl不用繁琐的过程 教你如何让CTreeCtrl的每一项有ToolTip提示
- 关于JavaScript事件和不同浏览器之间的兼容
- Java菜鸟学习笔记--面向对象篇(十五):Wrapper Class包装类
- 黑马程序员——多线程
- ios 中对文件的操作
- 黑马程序员_面向对象(三)