//功能:在指定的路径中的Jar文件中寻找自己所需要的class
//用法:提供本地磁盘路径和所需要的class的全称(包括package等信息)
//例如:Java -cp . JarClassFind Path ClassName
//eg: Java -cp . JarClassFind F:\JDK java.applet.Applet
import java.io.File;
import java.util.Enumeration;
import java.util.jar.JarFile;
public class JarClassFind
{
public static int count = 0;
public JarClassFind()
{
}
private static void findClassInLocalSystem(String path, String classname)
{
if ((path.charAt(path.length() - 1)) != File.separatorChar)
{
path += File.separatorChar;
}
File file = new File(path);
if (!file.exists())
{
System.out.println("Error: Path not Existed! Please Check it out!");
return;
}
String[] filelist = file.list();
if (filelist != null)
{
for (int i = 0; i < filelist.length; i++)
{
File temp = new File(path + filelist[i]);
if ((temp.isDirectory() && !temp.isHidden() && temp.exists()))
{
findClassInLocalSystem(path + filelist[i], classname);
}
else
{
if (filelist[i].endsWith(".jar"))
{
try
{
JarFile jarfile = new JarFile(path + filelist[i]);
for (Enumeration enumeration = jarfile.entries(); enumeration.hasMoreElements();)
{
String name = enumeration.nextElement().toString();
if (name.equals(classname))
{
System.out.print("No." + ++JarClassFind.count);
System.out.println("\t" + path + filelist[i]);
// System.out.println(name);
}
}
jarfile.close();
}
catch (Exception ex)
{
ex.printStackTrace();
}
}
}
}
}
else
{
System.out.println("File list is null or Permission denied, please check : " + path);
}
}
public static void main(String[] args)
{
System.out.print("You are searching Java Class on: " + System.getProperty("os.name"));
System.out.println("\t\tFile.separator is : " + File.separator);
if (args.length < 2)
{
showHowToUsage();
return;
}
String absoluteclassname = args[1].replace('.', '/') + ".class";
System.out.println("Find class [" + args[1] + "] in Path [" + args[0] + "] Results:");
findClassInLocalSystem(args[0], absoluteclassname);
if (JarClassFind.count == 0)
{
System.out.println("Error:Can't Find Such Jar File!");
}
System.out.println("Find Process Ended! Total Results:" + JarClassFind.count);
}
private static void showHowToUsage()
{
System.out.println("Usage: Java -cp . JarClassFind <source path> <source class name>");
System.out.println("Usage: Java -classpath . JarClassFind <source path> <source class name>");
System.out.println("");
System.out.println("<source path>:\t\tPath to Find eg:F:\\JDK");
System.out.println("<source class name>:\tClass to Find eg:java.applet.Applet");
}
}
分享到:
相关推荐
1.搜索分析指定路径下所有jar包中是否存在指定文件。譬方说要在jar包中查询某个**.class文件。用户可以不用打开Jar包,直接输入路径和要查找的文件即可搜索。 2.列出指定路径下的所有Jar包文件 3.除了对Jar包进行...
2.搜索分析指定路径下所有jar包中是否存在指定文件。譬方说要在jar包中查询目个**.class文件。用户可以不用打开Jar包,直接输入路径和要查找的文件即可搜索。 3.除了对Jar包进行搜索分析外,还可以对zip包进行分析 4...
windows运行jar包指定jdk路径的脚本文件。可以不用系统的jdk运行,指定某个文件下的jdk运行jar包
从JAR文件中寻找class文件
这里我们以 gson.jar 为例,在 gson.jar 包目录下新建一个文本文件,名字随意,例如 rule.txt,写入下面的内容。 rule com.google.gson.** com.google.mygson.@1 上面写的就是修改规则,我们将包名中的 gson 修改为...
修改jar包中的class文件文中用到的源码
oracle驱动包,class14.jar
详细介绍了,如何将class文件打包成jar文件
在编写完自己的程序以后,可以利用此方式提供给其他应用程序,安全
在Jar文件里查找对应的类名。双击弹出界面后,点击“查询路径”,把Jar所在目录选上后,在“查询类名”中填写检索词
java反编译项目工程,可以将class 文件 进行 ...4、执行 src 下的 TEST.java 类 (test.java 根据 需要配置参数几个) 会在 out 下 输出 修改后的 jar 文件 5、没有新增类的情况下,执行项目下bin 目录下的jar.bat 即可
在java编程中,我们经常遇到找到类的东西,这个工具可以在指定搜索的文件夹下的所有jar包里查找是否有class文件
jar包、class文件读取工具,java编译后的文件读取
分享自己做的的打包工具,希望能帮助到平时为一堆补丁文件class(自动包含class内部类),jsp,html,js,css,xml,jar等文件花费很长时间整理的朋友,有了我这个工具,似乎这一切都变得简单,你只需要选择路径,然后在...
反编译jar文件,反编译.class文件
JarClassSearch class 文件搜索工具,可以查找出指定名称的class出现了那些jar包中 对jar包上了数量的工程特别有用,而且是GUI界面的 真是人见人爱,见人爱人,javaer 的居家旅行必备
class jar文件编译器,可以反编译class jar文件 非常方便。
Eclipse中查看class源码的插件,jar包反编译查看工具,两种方式查看jar包对应的源代码。亲测可用
主要介绍了Java实现从jar包中读取指定文件的方法,涉及java针对jar文件的读取及查找相关操作技巧,需要的朋友可以参考下
发布JAVA应用程序(将CLASS文件打包成.jar文件) 将一个CLASS文件打包成一个.jar文件分为以下几个步骤方法