查找jar包中.class文件关键字(变量名,字符串)

网友投稿 987 2022-11-25

查找jar包中.class文件关键字(变量名,字符串)

查找jar包中.class文件关键字(变量名,字符串)

侵删

package test;import java.io.BufferedReader;import java.io.File;import java.io.FileFilter;import java.io.IOException;import java.io.InputStreamReader;import java.util.Enumeration;import java.util.regex.Pattern;import java.util.zip.ZipEntry;import java.util.zip.ZipFile;public class FindForJarIndex { public static final String path = "I:\\Android\\04test\\Wc\\app\\libs"; //jar包父目录 public static final String keywords = "getMessageFormat"; //关键字 public static void main(String[] args) { File file = new File(path); final Pattern p = Pattern.compile(".+\\.jar$"); File[] files = file.listFiles(new FileFilter() { @Override public boolean accept(File pathname) { if (p.matcher(pathname.getPath()).matches()) { return true; } else { return false; } } }); search(files); } private static void search(File[] files) { try { for (File f : files) { if (f.isDirectory()) { search(f.listFiles()); } else { ZipFile jar = new ZipFile(f); Enumeration enumration = jar.entries(); while (enumration.hasMoreElements()) { ZipEntry zipEntry = (ZipEntry) enumration.nextElement(); InputStreamReader isr = new InputStreamReader(jar.getInputStream(zipEntry)); BufferedReader br = new BufferedReader(isr); String line = br.readLine(); int line_num = 1; while (null != line) {// System.out.println(line); if (line.contains(keywords)) { System.out.println( f.getPath() + "," + zipEntry.getName() + "," + "line number = " + line_num); } line = br.readLine(); line_num++; } } } } } catch (IOException io_e) { io_e.printStackTrace(); } }}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:springboot 项目使用jasypt加密数据源的方法
下一篇:局域网搭建hadoop平台——基于基础镜像通过Dockerfile创建Hadoop镜像
相关文章

 发表评论

暂时没有评论,来抢沙发吧~