クラス FindClassFiles
java.lang.Object
org.opengion.fukurou.util.FindClassFiles
このクラスは、指定のディレクトリパスから .class ファイルを検索するクラスです。
検索パスは、実ファイルと、zipファイルの内部、jar ファイルの内部も含みます。
検索結果は、.class を取り除き、ファイルパスを、すべてドット(.)に変換した形式にします。
これは、ほとんどクラスのフルパス文字列に相当します。
ここで取得されたファイル名より、実クラスオブジェクトの作成が可能になります。
このクラスの main メソッドは、クラスパスから指定の名前を持つクラス以下のディレクトリより
ファイルを検索します。通常、このクラスの使い方として、取得したクラスファイル名(文字列)
から、引数なしコンストラクタを呼び出して、実オブジェクトを生成させるので、通常のフォルダ
から検索するより、クラスパス内から検索するペースが多いため、サンプルをそのように設定
しています。
- 変更履歴:
- 4.0.0.0 (2004/12/31) 新規作成
- 機能分類
- 初期化
- 導入されたバージョン:
- JDK5.0,
-
コンストラクタの概要
コンストラクタ -
メソッドの概要
修飾子とタイプメソッド説明String[]
ファイルパスを ドット(.)に置き換え、.class を取り除いた形式(クラスの完全系)の文字列配列。static void
サンプルメイン ここでは、引数に通常のファイルではなく、クラスパスより取得します。
-
コンストラクタの詳細
-
FindClassFiles
検索パスを指定して構築する、コンストラクタです。 ここで見つかったパス以下の classファイル(拡張子は小文字で、.class )を検索します。 このファイル名は ファイルパスを ドット(.)に置き換え、.class を取り除いた格納しておきます。 ※ Tomcat8.0.3 では、ClassLoader の getResources(String)で取得するURL名が、 /C:/opengionV6/uap/webapps/gf/WEB-INF/classes/org/opengion/plugin/ の形式で、最後の "/" を取る為、filepath.length() - 1 処理していましたが、 Tomcat8.0.5 では、/C:/opengionV6/uap/webapps/gf/WEB-INF/classes/org/opengion/plugin の形式で、最後の "/" がなくなっています。 最後の "/" があってもなくても、new File(String) でディレクトリのオブジェクトを 作成できるため、filepath.length() に変更します。- パラメータ:
filepath
- 対象となるファイル群を検索する、ファイルパスkeyword
- 検索対象ファイルのキーワード- 変更履歴:
- 4.0.3.0 (2007/01/07) UNIXパス検索時の、ファイルパスの取得方法の不具合対応, 5.0.0.0 (2009/08/03) UNIXパス検索時の、ファイルパスの取得方法の不具合対応, 5.0.0.0 (2009/08/03) UNIXパス検索時の、ファイルパスの取得方法の不具合対応, 5.7.5.0 (2014/04/04) ファイル名の取得方法の修正
-
-
メソッドの詳細
-
getFilenames
ファイルパスを ドット(.)に置き換え、.class を取り除いた形式(クラスの完全系)の文字列配列。- 戻り値:
- ファイルパスの文字列配列
- このメソッドは、nullを返しません
-
main
サンプルメイン ここでは、引数に通常のファイルではなく、クラスパスより取得します。 通常、取得されたファイル名は、クラスの完全系の文字列なので、クラスパスより取得 している限り、そのまま オブジェクトを構築できることを意味します。- パラメータ:
args
- 引数- 変更履歴:
- 6.8.5.1 (2018/01/15) ファイル名は、##バージョン番号を変換しておく必要がある。
-