パッケージ org.opengion.fukurou.util

クラス FindClassFiles

java.lang.Object
org.opengion.fukurou.util.FindClassFiles

public final class FindClassFiles extends Object
このクラスは、指定のディレクトリパスから .class ファイルを検索するクラスです。 検索パスは、実ファイルと、zipファイルの内部、jar ファイルの内部も含みます。 検索結果は、.class を取り除き、ファイルパスを、すべてドット(.)に変換した形式にします。 これは、ほとんどクラスのフルパス文字列に相当します。 ここで取得されたファイル名より、実クラスオブジェクトの作成が可能になります。 このクラスの main メソッドは、クラスパスから指定の名前を持つクラス以下のディレクトリより ファイルを検索します。通常、このクラスの使い方として、取得したクラスファイル名(文字列) から、引数なしコンストラクタを呼び出して、実オブジェクトを生成させるので、通常のフォルダ から検索するより、クラスパス内から検索するペースが多いため、サンプルをそのように設定 しています。
変更履歴:
4.0.0.0 (2004/12/31) 新規作成
機能分類
初期化
導入されたバージョン:
JDK5.0,
  • コンストラクタの概要

    コンストラクタ
    コンストラクタ
    説明
    FindClassFiles(String filepath, String keyword)
    検索パスを指定して構築する、コンストラクタです。
  • メソッドの概要

    修飾子とタイプ
    メソッド
    説明
    ファイルパスを ドット(.)に置き換え、.class を取り除いた形式(クラスの完全系)の文字列配列。
    static void
    main(String[] args)
    サンプルメイン ここでは、引数に通常のファイルではなく、クラスパスより取得します。

    クラスから継承されたメソッド java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • コンストラクタの詳細

    • FindClassFiles

      public FindClassFiles(String filepath, String keyword)
      検索パスを指定して構築する、コンストラクタです。 ここで見つかったパス以下の 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

      public String[] getFilenames()
      ファイルパスを ドット(.)に置き換え、.class を取り除いた形式(クラスの完全系)の文字列配列。
      戻り値:
      ファイルパスの文字列配列
      このメソッドは、nullを返しません
    • main

      public static void main(String[] args)
      サンプルメイン ここでは、引数に通常のファイルではなく、クラスパスより取得します。 通常、取得されたファイル名は、クラスの完全系の文字列なので、クラスパスより取得 している限り、そのまま オブジェクトを構築できることを意味します。
      パラメータ:
      args - 引数
      変更履歴:
      6.8.5.1 (2018/01/15) ファイル名は、##バージョン番号を変換しておく必要がある。