查找源码jar包出现指定文字的小程序
2016-02-25 15:06
701 查看
package finder; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.Enumeration; import java.util.List; import java.util.jar.JarEntry; import java.util.jar.JarFile; import java.util.regex.Pattern; import org.apache.commons.io.IOUtils; /** * 查找jar文件下出现指定文字的文件 * * @author 0 * */ public class FileScanner { private JarFile dir; private Pattern pattern; public FileScanner(JarFile dir, String regex) { this.dir = dir; pattern = Pattern.compile(regex); } private List<String> scanContent(JarEntry e) throws IOException { InputStream is = null; List<String> collection = new ArrayList<String>(); try { List<String> lines = IOUtils .readLines((is = dir.getInputStream(e))); for (String line : lines) { if (pattern.matcher(line).find()) { collection.add(line); } } } finally { IOUtils.closeQuietly(is); } return collection; } private void scan() { Enumeration<JarEntry> en = dir.entries(); while (en.hasMoreElements()) { JarEntry e = en.nextElement(); List<String> lines = null; try { if (!(lines = scanContent(e)).isEmpty()) { System.out.println(e.getName() + ":"); for (String line : lines) { System.out.println(line); } } } catch (IOException e1) { e1.printStackTrace(); } } } public static void main(String[] args) throws IOException { new FileScanner( new JarFile( "D:\\repository\\com\\explodingart\\jmusic\\1.6.4.1\\jmusic-1.6.4.1-sources.jar"), "\\s+MAJOR\\s+|\\.MAJOR").scan(); } }
相关文章推荐
- 微信平台开发应用的签名
- iOS 微信支付
- 微信开发,方倍开发工作室
- VBA 入门进阶 实用小程序
- 微信分享图片checkArgs fail, thumbData is invalid的错误
- Android 微信分享
- 微信支付服务端与客户端
- 各位帮忙看一下这个求100!的小程序哪里错啦?
- Android 基于google Zxing实现二维码、条形码扫描,仿微信二维码扫描效果
- VS2015第一个小程序:HelloAnimal!
- 微信开发中文乱码问题总结
- 微信 winwre 移动调试
- 解决微信官方提供的JSAPI php demo的问题
- zabbix通过微信模板消息发送报警
- 微信红包随机算法的实现
- PHP技术开发微信公众平台
- 微信的那个老外产品经理,又写了一篇《中国移动应用设计趋势》
- 微信的那个老外产品经理,又写了一篇《中国移动应用设计趋势》
- ios 微信支付
- 防微信聊天气泡图片实现