如果是class文件可以用reflect,源文件就不会了

解决方案 »

  1.   

    是啊。如果是class文件就好了。但需求规定是原文件。而且,应该有办法的,比如JBuilder,一边写代码,左边的分析树就一边刷新,它分析的就是源代码嘛。
      

  2.   

    需要一个Java的Parser,写一个或找一个吧。
      

  3.   

    这个我没用过,但应该可以的:http://www.antlr.org/
      

  4.   

    写源文件分析肯定是不行的了,太复杂,还容易出错。应该能有直接用的,不过我还没找着,找着了告诉你。实在不行,就只有分析class了。先将java文件编译成class。
      

  5.   

    你可以分析一个jbuilder的包,找到相关类拿来用不就可以了。
      

  6.   

    有各类的方法的,可以参考java编程思想
      

  7.   

    用Object的getMethods()方法可以返回一个Method[]数组。
    Method[i].getName()即得到方法名!
      

  8.   

    antlr = ANother Tool for Language Recognition,是一个Java的Parser生成器,你给它语法,它给你生成Parser,你用这个Parser可以从源文件生成AST。它的主页上提供了Java 1.3的语法文件,拿来用就是了。
      

  9.   

    你的最终目的是干什么?可不可以用javadoc?
      

  10.   

    可利用Java的反射机制来实现,非常简单,方便的,呵呵。
    可参考我写的 “在JavaBean中动态绑定EJB“ 里面的方法。http://www.bhsky.com/program/ejb/index.htm
      

  11.   


    刚才仔细看
    要求是源文件
    我写的是分析.class   文件的类和方法
    其实分析源文件也是一样的呀
    利用反射机制
    一样遍历呀
      

  12.   

    http://developer.java.sun.com/developer/technicalArticles/Parser/SeriesPt3/看看,about antlr,sun公司推荐的
      

  13.   

    <font size=20>有没有直接的工具</font>
      

  14.   

    用javadoc不就可以了?然后再分析结果文件,我认为这样最简单.