2016-11-20 11 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

泥として澄んでいます。お互いに何の関係もないこのjavascriptとjavaにラベルを付け、どの言語でそれを読んでいいかは言及しませんでした – charlietfl

+0

ようこそ!良い質問をするのを助けるために私たちの[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+)* 

を使用することができます可能正規表現のための解の数をtheresのldは、マッチをグループ化し、マッチから必要なものを出力する通常の方法を使用します。

ANTLRのようなこのタイプのプログラムソリューションについて言及する価値はありますが、残念ながら、あなたが使用するパーサー全体を生成できるので、メソッドヘッダーを超えて拡張しようとしています。

+1

ありがとう、実際に私はスタックオーバーフローの新しいです。私は自分の答えを見つけたと思う。始める方法を見つけていたからだ。あなたは、私が探している詳細に関する多くの情報を述べています。ありがとうDean219 –

+0

私はあなたが最初に正規表現ソリューションに焦点を当て、javaを学んでいるように、あなたの必要がヘッダーリーダー(メソッド名、型およびパラメータ)のためだけで、正規表現を構築し、特定のイベントを処理できるように、個別の引数などのグループとメソッド名を別々に一致させるパターン。私はあなたがあなたが探している答えを見つけて、あなたが何か提案が必要ならコメントを返すことを願っています:) – D3181

関連する問題