メインファイルからメインファイルを含むメインファイルへのパスを取得することは可能ですか?メインファイルを含む.classファイルへのディレクトリパスを取得する
答えて
URL main = Main.class.getResource("Main.class");
if (!"file".equalsIgnoreCase(main.getProtocol()))
throw new IllegalStateException("Main class is not stored in a file.");
File path = new File(main.getPath());
注意。ただし、この手法ではクラスを含むJARを見つけることができ、クラスファイルがgetResource()
の代わりにgetResourceAsStream()
に置き換えられてクラスファイルの内容を取得することができ、クラスがファイルシステム上にあるかどうかで動作しますJAR
http://www.cs.caltech.edu/courses/cs11/material/java/donnie/java-main.htmlによると、しかし、私は少なくともあなたにメインのクラスを与える$0 (Program Name) in Java? Discover main class?を読むことをお勧めします。これはすべての場合(したがってIllegalStateException
)で動作しませんので、ほとんどのクラスファイルはJARファイルにまとめられ
'main'メソッドの中で、囲むクラスは既に知られています。 – erickson
何が必要ですか?同じディレクトリにあるファイルをすべて取得する必要がある場合は、Class.getResourceAsStream()が対象です。
私のアプリケーションの起動を複数回停止するために、メインクラスファイルのロックを取得しようとしています。 –
これは私のエンドユーザーの問題のように見えます。また、特定のアプリケーションの複数のインスタンスを実行する可能性があることを考慮し、ユーザーがそうするのを妨げることは大きな迷惑になるでしょう。
問題が一時ファイルの競合である場合は、すべての一時ファイルに一意の名前が付いていることを確認してください。これは、理解しているように、アプリケーションの複数のインスタンスが実行されないようにする必要性を人々が感じる最も一般的な理由です。
P .: java.io.File.createTempFile()メソッドは、一意のファイル名を自動的に生成するため、一時的なファイルの競合を防ぐのに適しています。
- 1. Pythonの絶対ファイル/ディレクトリパスを取得する
- 2. CMakeでパスを含むファイルを取得する
- 3. ビューを含むサブビューを取得する
- 4. Macにインストールするファイルへのディレクトリパスを設定する
- 5. Windows XP/Vista上のSolidWorksを含むファイルのサムネイルを取得
- 6. Laravel:ドットを含む言語ファイルからの翻訳を取得
- 7. 参照から参照を含む配列へのハッシュを取得するPerl
- 8. ウィンドウを含むXUL iframeへの参照を取得する方法
- 9. Magento:特定のテキストを含むコメントを含む出荷のみを含む貨物収集を取得する
- 10. ワイルドカードを含むディレクトリパスからC#のファイルのリストを取得するにはどうすればよいですか?
- 11. すべてのサブディレクトリファイルを含むディレクトリ内のファイルを取得する方法は?
- 12. XMLファイルのテキストを含むタグの行番号を取得する
- 13. NTFSファイルの合計サイズを取得する方法(セキュリティとADSを含む)?
- 14. Windowsサービスでコードを含むTIFFファイルのページ数を取得する方法
- 15. SharpSVNの.slnと.javaファイルを含むフォルダ名を取得するC#
- 16. Perlの現在の作業ディレクトリパスを取得する
- 17. すべての取得情報を含むPHPページ名を取得する
- 18. コンソールのような動作でディレクトリパスを取得する
- 19. テンプレートを含むjavascriptファイルを含む
- 20. ファイルを含む
- 21. JavaScriptのコンテンツを含むハッシュを含む完全なURLを取得
- 22. 既知のテキストを含むリンクを取得する方法
- 23. パッケージを含む現在のクラス名を取得する
- 24. スキームを含むAppHarborアプリケーションのURLを取得するには?
- 25. WebDriverでテキストを含む特定の要素を取得する
- 26. テキストを含むテキストフィールドの数を取得する
- 27. スクロールバーを含むブラウザウィンドウの幅を取得する
- 28. Windowsシステムディレクトリを含むドライブの文字を取得する
- 29. パイプを含む最後のbashコマンドを取得する
- 30. bashスクリプトは、特別な行を含むサブフォルダ内のファイルを取得します。
ファイルシステム上の.classファイルの場所を知りたいのですか? – laz