2012-05-16 6 views
0

자바 파일에서 문자열 (실제로 메서드 호출)을 검색해야합니다. 나는 또한 그것이 (자바 파일의 어떤 메소드에서) 호출되었는지 알 필요가있다. 가장 좋은 방법은 무엇입니까?자바를 사용하여 자바 파일을 검색하는 방법은 무엇입니까?

+3

자바 파일 또는 클래스 파일을? 그것이 전자의 경우 결과의 신뢰성에 신경을 쓰면 Java를 파싱해야합니다. 또는 그것을 할 컴파일러를 얻으십시오. – cHao

+2

* grep *은 어떻습니까? –

+2

소스 코드에서 문자열을 검색 하시겠습니까? 아니면 Reflection을 통해 런타임에서 메소드를 찾으시겠습니까? 더 구체적으로 말하십시오. – qJake

답변

1

Reflection은 실제로 주어진 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

관련 문제