2012-01-12 6 views
6

実行中のファイル名を取得することは可能ですか?例えばのように。 Jarファイルを実行していて、その内部にファイル名を検出できるコード機能を追加したいのであれば、このjarの名前を変更するとコードがそれを検出できるようにする必要があります。実行ファイル名をJavaで取得しますか?

現在のディレクトリ内のファイルをスキャンすることなくこれを行う可能性はありますか?

+0

を私は止めたくありません現在のPIDを使用してctこれをサポートするJavaのbulitがあるのだろうか? – Johnydep

+1

なぜdownvote?私の質問は合法です。 – Johnydep

+0

関連:http://stackoverflow.com/questions/320542/how-to-get-the-path-of-a-running-jar-file – jalopaba

答えて

4

はこれを試してみてください呼び出されたことを示すいくつかの値を持っているかどうかをチェックできます。実際に

String path = Test.class.getProtectionDomain().getCodeSource().getLocation().getPath(); 
String decodedPath = URLDecoder.decode(path, "UTF-8"); 

http://www.rgagnon.com/javadetails/java-0300.html

http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html#getProtectionDomain()

http://docs.oracle.com/javase/7/docs/api/java/security/ProtectionDomain.html

+0

すべてのシナリオではありませんが、部分的に動作しますが、上で定義したメソッドのドキュメントはありますか? – Johnydep

+0

ありがとうございました。私が探していたものです。 – Johnydep

-2

System.getEnv()は、ファイルが

+0

System.getenv()はそのような情報を表示しません。 – Johnydep

関連する問題