晨月

爱是恒久忍耐,又有恩慈;爱是不嫉妒,爱是不自夸,不张狂,不作害羞的事,不求自己的益处,不轻易发怒,不计算人的恶,不喜欢不义,只喜欢真理;凡事包容,凡事相信,凡事盼望,凡事忍耐---圣经

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

 

import java.lang.reflect.*;
import java.util.regex.
*;

public class ShowMethods {
 private static final String usage 
=
 
"usage:\n" +
 
"ShowMethods qualified.class.name\n" +
 
"to show all methods in class or:\n" +
 
"ShowMethods qualified.class.name word\n" +
 
"to search for method involving 'word'";
 private static Pattern p 
= Pattern.compile("\\w+\\.");

 public static 
void main(String[] args) {
 
if (args.length < 1) {
 System.out.println(usage);
 System.exit(
0);
 }
 
int lines = 0;
 
try {
 Class c 
= Class.forName(args[0]);
 Method[] m 
= c.getMethods();
 Constructor[] ctor 
= c.getConstructors();
 
if (args.length == 1) {
 
for (int i = 0; i < m.length; i++)
 System.out.println(p.matcher(m[i].
 toString()).replaceAll(
""));
 
for (int i = 0; i < ctor.length; i++)
 System.out.println(p.matcher(ctor[i].
 toString()).replaceAll(
""));
 lines 
= m.length + ctor.length;
 }
 
else {
 
for (int i = 0; i < m.length; i++)
 
if (m[i].toString().indexOf(args[1]) !=
 
1) {
 p.matcher(m[i].toString()).
 replaceAll(
"");
 lines
++;
 }
 
for (int i = 0; i < ctor.length; i++)
 
if (ctor[i].toString().indexOf(args[1]) !=
 
-1) {
 System.out.println(p.matcher(
 ctor[i].toString()).
 replaceAll(
""));
 lines
++;
 }
 }
 }
 
catch (ClassNotFoundException e) {
 System.out.println(
"No such class:" + e);
 }
 }
}
posted on 2004-12-02 14:03  晨月  阅读(626)  评论(0)    收藏  举报