2012-05-16 16 views
0

我需要在java文件中搜索一個字符串(實際上是一個方法調用)。我也需要知道它在哪裏被調用(我的意思是在java文件中的哪個方法)。什麼是最好的方法?如何在java中使用java進行搜索?

+3

的Java文件或類文件?如果它是前者,並且你關心結果的可靠性,那麼你就需要解析Java。或者讓一個編譯器來做到這一點。 – cHao

+2

* grep *怎麼樣? –

+2

你的意思是你想要在源代碼中搜索一個字符串,或者在運行時通過Reflection找到一個方法?請更具體一些。 – qJake

回答

1

反射真的只能告訴你給定的Java對象有什麼方法和字段存在。在JVM運行時,Java源代碼已經被編譯爲字節碼,並且源文件中的「搜索字符串」是沒有意義的。

我認爲最好的辦法就是將其解析爲普通的文本文件。

-1
class Test { 
    void doTest(){ 
    // do test 
    } 

    public static void main(String[] args){ 
     for (Method each : Test.class.getMethods()){ 
     System.out.println(each.getName() + "()"); 
     } 
    } 
} 

返回結果: 「doTest()」

+0

不知道這是如何回答這個問題。你能詳細說明嗎? – cHao