有很多jar包,和一个.class文件,现在想知道这个.class文件是存在于哪个jar包中的。
有没有查找的工具,能比较方便的从多个jar中查到.class呢?? 
(类似winrar除外,一个个jar包看太麻烦。。)
thanks.

解决方案 »

  1.   

    把你所有的Jar文件放到一个文件夹中,然后运行下面的代码,就可以帮你找到://这个文件夹是你存放Jar文件的文件夹,根据实际情况修改
    File dir = new File("C:\\Documents and Settings\\幻瞳\\桌面");
    //这个文件名是你要找的文件名,根据实际情况修改
    String filename = "GUITest.class";

    String[] files = dir.list(new FilenameFilter() { public boolean accept(File dir, String name) {
    // TODO Auto-generated method stub
    if(name.subSequence(name.length()-3, name.length()).equals("jar"))
    return true;
    return false;
    }

    });
    ZipInputStream jar;
    ZipEntry entry;
    for(String s:files) {
    try{
    jar = new ZipInputStream(new FileInputStream(dir+"\\"+s));
    while((entry = jar.getNextEntry())!=null){
    if(entry.getName().contains(filename)){
    System.out.println("该文件位于"+s+"-- "+entry.getName());
    break;
    }
    jar.closeEntry();
    }
    jar.close();
    }catch(Exception e) {
    e.printStackTrace();
    }
    }