2016-11-20 2 views
0

예를 들어 .java가 파일의 메소드를 포함, 나는아래와 같이,

public class A { 

    private void callData() { 

     //There can be custom methods like this 
     checkImage("A",true); 
     checkObject("B","C",true); 
    } 
} 

나는이 방법 이름 및 매개 변수를 읽고 싶어, .java가이 같은 파일이 있습니다. 나는 그 메소드 안에 들어가서 값을 가져갈 필요가 없지만 이름과 매개 변수를 가져 가고 싶습니다. 이 A.java는 내 컴퓨터에있는 파일입니다. 이제이 메소드 이름과 매개 변수를 읽는 코드를 작성하려고합니다. 나는이

+0

진흙처럼 맑게합니다. 당신은이 자바 스크립트와 자바라는 라벨을 붙였습니다. 서로 전혀 관련이 없으며 어떤 언어로 읽고 싶습니까? – charlietfl

+0

Welcome to Stack Overflow! 좋은 질문을하고 좋은 대답을 얻으려면 [SO Question Checklist] (http://meta.stackoverflow.com/questions/260648/stack-overflow-question-checklist)를 검토하십시오. –

+0

실제로 그게 내 나쁜 때문에 stackoverflow.com에 새로운. 나는 앞으로 더 나은 질문을 할 수 있기를 바랍니다. 고마워요 @ charlietfl –

답변

0

대부분의 질문이 포함되어야 주셔서 감사합니다 :) 분명하다 생각하는 곳은 우리가 당신이 당신의 코드로 발생한 문제에보다 효율적으로 질문에 대답하는 데 도움이 당신이 이미 시도 것들의 최소한의 예 가능 . 어쨌든 메서드 헤더와 매개 변수를 선택하는 경우 코드 파싱에 대한보다 완전한 해결책을 원한다면 정규식을 사용해야합니다.

먼저 파일을 읽고 다른 버전의 Java에 대한 예제를 볼 수 있습니다 here @Grimy에서 :

import java.io.File; 
import java.io.FileReader; 
import java.io.IOException; 
public String readFile(String filename) 
{ 
    String content = null; 
    File file = new File(filename); //for ex foo.txt 
    FileReader reader = null; 
    try { 
     reader = new FileReader(file); 
     reader.close(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } finally { 
     if(reader !=null){reader.close();} 
    } 
    return content; 
} 

그런 다음 가능한 정규식을위한 솔루션들을 프로그래머는 정규식을 설계하면 당신은 당신에게 COU를 herehere

(?:(?:public)|(?:private)|(?:static)|(?:protected)\s+)* 

를 사용할 수 있습니다 일치하는 항목을 그룹화하고 일치 항목에서 필요한 것을 출력하는 일반적인 방법을 사용하십시오.

이러한 유형의 프로그램 솔루션 (예 : ANTLR)에 대한 언급은 유용 할 수 있지만 잔인 함, 그렇다면 메서드 헤더 이상으로 확장하려는 경우 유용 할 수 있습니다.

+1

대단히 고맙습니다. 실제로 저는 오버플로 스택이 새로 생겼습니다. 내가 시작할 방법을 찾고 있었기 때문에 나는 내 대답을 발견했다고 생각한다. 당신은 내가 찾는 정보에 관해 많은 정보를 언급하고 있습니다. 고마워 Dean219 –

+0

걱정하지 마라. 나는 당신이 자바를 배우는 것처럼 첫 번째로 정규 표현식 솔루션에 초점을 맞추고, 헤더 리더 (메소드 이름, 유형 및 매개 변수) 만 필요로하고 정규 표현식을 작성하고 패턴을 사용하여 개별 인수와 같은 그룹을 일치시킨 다음 메서드 이름을 개별적으로 처리하여 각 특정 이벤트를 처리 할 수 ​​있습니다. 나는 당신이 찾고있는 답변을 찾고 당신이 어떤 제안이 필요하면 다시 코멘트하기를 바랍니다 :) – D3181

관련 문제