クラス FileTag

すべての実装されたインタフェース:
BodyTag, IterationTag, JspTag, Tag, TryCatchFinally, Serializable

public class FileTag extends CommonTagSupport
各種アクションを指定して、ファイル関連の操作をおこなうタグです。 各種アクション に応じた振る舞いを行います。 結果については、false の場合は、body 要素を表示して、終了します。 これは、BODYにエラーメッセージを書いておくことを想定した作りになっています。 判定結果を反転したい場合は、notEquals 属性を使用してください。また、 結果に応じて、処理を止めたくない場合は、useStop 属性を false に指定することで、 後続処理を実行できます。 [各種アクション] canRead 読み込めるかどうかを判定。 canWrite 変更できるかどうか判定。 createNewFile 空の新しいファイルを不可分 (atomic) に生成。(そのファイルがまだ存在しない場合だけ) delete ファイルまたはディレクトリを削除(ディレクトリ階層をすべて削除)。 renameTo ファイルまたはディレクトリ名を変更。 exists ファイルが存在するかどうか判定。 isDirectory ファイルがディレクトリであるかどうか判定。 isFile ファイルが普通のファイルかどうか判定。 isHidden ファイルが隠しファイルかどうか判定。 mkdir ディレクトリを生成。 mkdirs ディレクトリを複数生成。 read ファイルを読み込んで、パラメータにセットします(6.2.3.0 (2015/05/01))。 existsLength ファイルサイズが0Byte以上のファイルが存在するかどうか判定。 copy ファイルまたはディレクトリをコピー(file1 ⇒ file2 にコピー)。 copyST ストリームファイルをコピー(file1(アドレス) ⇒ file2 にコピー)。 list ファイルリストをListオブジェクトにコピーして、パラメータにセットします(6.2.3.0 (2015/05/01))。 zip ファイルまたはディレクトリをZIPファイルに圧縮します。(file1⇒file2) timeStamp ファイルのタイムスタンプを現在時刻に変更します。(file1のみ)
関連項目:
機能分類
その他部品
形式サンプル:
●形式:<og:file action="…" fileURL="…" > ・・・ </og:file> ●body:あり(EVAL_BODY_INCLUDE:BODYをインクルードし、{@XXXX} は解析しません) ●Tag定義: <og:file action ○【TAG】アクション(canRead,canWrite,createNewFile,delete,renameTo,exists,isDirectory,isFile,isHidden,mkdir,mkdirs,read,existsLength,copy,copyST,list,zip,timeStamp)を指定します(必須)。 fileURL 【TAG】操作するファイルのディレクトリを指定します (初期値:FILE_URL[=filetemp/]) file1 【TAG】基準となるファイル名を指定します(コマンドの左辺のファイル名です) file2 【TAG】処理結果となるファイル名を指定します(コマンドの右辺のファイル名です) notEquals 【TAG】判定結果を反転させるかどうか[true/false]を指定します(初期値:false) useStop 【TAG】エラー時BODYを処理後に停止するかどうか[true/false]を指定します(初期値:true) encode 【TAG】ファイルを読み込む(action="read")際のエンコードを指定します(初期値:OS依存文字コード) × fromStorage 【廃止】テンプレートファイルの読み込み元ストレージタイプを指定します。8.0.0.1 (2021/10/08) × fromBucket 【廃止】テンプレートファイルの読み込み元バケット名を指定します。8.0.0.1 (2021/10/08) fromLocal 【TAG】強制的にローカルファイルを使用する場合、true にセットします。8.0.1.0 (2021/10/29) toStorage 【廃止】生成したファイルの出力先ストレージタイプを指定します。8.0.0.1 (2021/10/08) × toBucket 【廃止】生成したファイルの出力先バケット名を指定します。8.0.0.1 (2021/10/08) × toLocal 【TAG】強制的にローカルファイルを使用する場合、true にセットします。8.0.0.1 (2021/10/08) useLocal 【TAG】システム定数でクラウド設定されていても、クラウド環境を使用しない場合、trueを指定します(初期値:false) 8.0.1.0 (2021/10/29) caseKey 【TAG】このタグ自体を利用するかどうかの条件キーを指定します(初期値:null) 5.7.7.2 (2014/06/20) caseVal 【TAG】このタグ自体を利用するかどうかの条件値を指定します(初期値:null) 5.7.7.2 (2014/06/20) caseNN 【TAG】指定の値が、null/ゼロ文字列 でない場合(Not Null=NN)は、このタグは使用されます(初期値:判定しない) 5.7.7.2 (2014/06/20) caseNull 【TAG】指定の値が、null/ゼロ文字列 の場合は、このタグは使用されます(初期値:判定しない) 5.7.7.2 (2014/06/20) caseIf 【TAG】指定の値が、true/TRUE文字列の場合は、このタグは使用されます(初期値:判定しない) debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false) > ... Body ... </og:file> ●使用例 ・ファイルの存在チェック→存在しなければエラーメッセージを表示。 <og:file action="exists" fileURL="N:/CIR/" file1="{@USER.LKISB}/{@USER.LDNO1KAI}.cir/001.sht"> <og:message lbl="RKE_0157" comment="回路図が存在しません。" /> </og:file> ・N:/Filetemp/にユーザーディレクトリが存在しなければ作成。→失敗した場合エラーメッセージを表示。 <og:file action="mkdir" fileURL="N:/Filetemp/{@USER.ID}" > <og:message comment="エラーが発生しました。システム管理者に連絡してください。" /> </og:file> ・N:/Filetemp/test.txt ファイルの削除。ファイルが存在しなくても処理を続ける。 <og:file action="delete" fileURL="N:/Filetemp/" file1="test.txt" useStop="false" > <og:message comment="ファイルは存在しませんでした。" /> </og:file>
導入されたバージョン:
JDK5.0,
  • フィールド詳細

    • ACT_CANREAD

      public static final String ACT_CANREAD
      action 引数に渡す事の出来る アクションコマンド 読み込めるかどうか "canRead"
      関連項目:
    • ACT_CANWRITE

      public static final String ACT_CANWRITE
      action 引数に渡す事の出来る アクションコマンド 変更できるかどうか "canWrite"
      関連項目:
    • ACT_CREATENEWFILE

      public static final String ACT_CREATENEWFILE
      action 引数に渡す事の出来る アクションコマンド 空の新しいファイルを不可分 (atomic) に生成します (そのファイルがまだ存在しない場合だけ "createNewFile"
      関連項目:
    • ACT_DELETE

      public static final String ACT_DELETE
      action 引数に渡す事の出来る アクションコマンド ファイルまたはディレクトリを削除"delete"
      関連項目:
    • ACT_EXISTS

      public static final String ACT_EXISTS
      action 引数に渡す事の出来る アクションコマンド ファイルが存在するかどうか "exists"
      関連項目:
    • ACT_ISDIRECTORY

      public static final String ACT_ISDIRECTORY
      action 引数に渡す事の出来る アクションコマンド ファイルがディレクトリであるかどうか"isDirectory"
      関連項目:
    • ACT_ISFILE

      public static final String ACT_ISFILE
      action 引数に渡す事の出来る アクションコマンド ファイルが普通のファイルかどうか"isFile"
      関連項目:
    • ACT_ISHIDDEN

      public static final String ACT_ISHIDDEN
      action 引数に渡す事の出来る アクションコマンド ファイルが隠しファイルかどうか "isHidden"
      関連項目:
    • ACT_MKDIR

      public static final String ACT_MKDIR
      action 引数に渡す事の出来る アクションコマンド ディレクトリを生成します。 "mkdir"
      関連項目:
    • ACT_MKDIRS

      public static final String ACT_MKDIRS
      action 引数に渡す事の出来る アクションコマンド ディレクトリを生成します。 "mkdirs"
      関連項目:
    • ACT_RENAMETO

      public static final String ACT_RENAMETO
      action 引数に渡す事の出来る アクションコマンド ファイル名を変更します。 "renameTo"
      関連項目:
    • ACT_READ

      public static final String ACT_READ
      action 引数に渡す事の出来る アクションコマンド ファイルを読み込んで表示します。 "read"
      関連項目:
    • ACT_EXISTSLENGTH

      public static final String ACT_EXISTSLENGTH
      action 引数に渡す事の出来る アクションコマンド ファイルサイズが0Byte以上のファイルが存在するかどうか判定。 "existsLength"
      関連項目:
    • ACT_COPY

      public static final String ACT_COPY
      action 引数に渡す事の出来る アクションコマンド ファイルまたはディレクトリをコピーします。 "copy"
      関連項目:
    • ACT_COPYST

      public static final String ACT_COPYST
      action 引数に渡す事の出来る アクションコマンド ストリームファイルをコピーします。 "copyST"
      関連項目:
    • ACT_LIST

      public static final String ACT_LIST
      action 引数に渡す事の出来る アクションコマンド ディレクトリのファイルリストをListオブジェクトにコピーします。 "list"
      関連項目:
    • ACT_ZIP

      public static final String ACT_ZIP
      action 引数に渡す事の出来る アクションコマンド ZIP圧縮します。 "zip"
      関連項目:
    • ACT_TIMESTAMP

      public static final String ACT_TIMESTAMP
      action 引数に渡す事の出来る アクションコマンド タイムスタンプを現在時刻に変更します。 "timeStamp"
      関連項目:
  • コンストラクタの詳細

    • FileTag

      public FileTag()
      デフォルトコンストラクター
      変更履歴:
      6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.
  • メソッドの詳細

    • doStartTag

      public int doStartTag()
      Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。
      定義:
      doStartTag インタフェース内 Tag
      オーバーライド:
      doStartTag クラス内 CommonTagSupport
      戻り値:
      後続処理の指示
      変更履歴:
      3.6.0.0 (2004/09/25) file オブジェクトの作成を actionExec 移動, 3.8.5.2 (2006/05/31) notEquals追加。 判定結果を反転させて処理します。, 5.7.7.2 (2014/06/20) caseKey,caseVal,caseNN,caseNull 属性を追加
    • doEndTag

      public int doEndTag()
      Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
      定義:
      doEndTag インタフェース内 Tag
      オーバーライド:
      doEndTag クラス内 CommonTagSupport
      戻り値:
      後続処理の指示
      変更履歴:
      3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。, 3.8.5.2 (2006/05/31) useStop 追加。 エラー時BODYを処理後に停止(true)するかどうか, 5.7.7.2 (2014/06/20) caseKey,caseVal,caseNN,caseNull 属性を追加
    • release2

      protected void release2()
      タグリブオブジェクトをリリースします。 キャッシュされて再利用されるので、フィールドの初期設定を行います。
      オーバーライド:
      release2 クラス内 CommonTagSupport
      変更履歴:
      2.0.0.4 (2002/09/27) カスタムタグの release() メソッドを、追加, 3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。, 3.6.0.0 (2004/09/24) columns 、tableId 、file 削除, 3.8.5.2 (2006/05/31) notEquals 、useStop 追加, 5.1.9.0 (2010/08/01) READ時のエンコード指定, 8.0.0.1 (2021/10/08) fromStorage,fromBucket,toStorage,toBucket 追加, 8.0.1.0 (2021/10/29) useLocal 属性を追加。
    • setAction

      public void setAction(String cmd)
      【TAG】アクション(canRead,canWrite,createNewFile,delete,renameTo,exists,isDirectory,isFile,isHidden,mkdir,mkdirs,read,existsLength,copy,copyST,list,zip,timeStamp)を指定します。
      パラメータ:
      cmd - アクション文字列
      関連項目:
      変更履歴:
      3.0.0.0 (2002/12/25) ACTION_LIST のチェックを導入, 3.5.6.2 (2004/07/05) 文字列の連結にStringBuilderを使用します。, 6.3.4.0 (2015/08/01) エラーメッセージを、変更。, 6.3.6.1 (2015/08/28) copyST アクション追加, 6.4.3.4 (2016/03/11) String配列 から、Setに置き換えます。
      説明:
      アクションは、HTMLから(get/post)指定されますので、ACT_xxx で設定される フィールド定数値のいづれかを、指定できます。 処理の結果が、false の場合は、body 要素を表示して終了します。 useStop 属性と、notEquals 属性によって、上記の振る舞いをけることが可能です。 canRead 読み込めるかどうかを判定。 canWrite 変更できるかどうか判定。 createNewFile 空の新しいファイルを不可分 (atomic) に生成。(そのファイルがまだ存在しない場合だけ) delete ファイルまたはディレクトリを削除(ディレクトリ階層をすべて削除)。 renameTo ファイルまたはディレクトリ名を変更。 exists ファイルが存在するかどうか判定。 isDirectory ファイルがディレクトリであるかどうか判定。 isFile ファイルが普通のファイルかどうか判定。 isHidden ファイルが隠しファイルかどうか判定。 mkdir ディレクトリを生成。 mkdirs ディレクトリを複数生成。 read ファイルを読み込んで、パラメータにセットします(6.2.3.0 (2015/05/01))。 existsLength ファイルサイズが0Byte以上のファイルが存在するかどうか判定。 copy ファイルまたはディレクトリをコピー(file1 ⇒ file2 にコピー)。 copyST ストリームファイルをコピー(file1(アドレス) ⇒ file2 にコピー)。 list ファイルリストをListオブジェクトにコピーして、パラメータにセットします(6.2.3.0 (2015/05/01))。 zip ファイルまたはディレクトリをZIPファイルに圧縮します。(file1⇒file2) timeStamp ファイルのタイムスタンプを現在時刻に変更します。(file1のみ) ※1 copyST の file1 は、getResourceAsStream を使用の為、/gf/jsp/・・・ ではなく、/jsp/・・・ でのアドレス指定で取得します。
    • setFileURL

      public void setFileURL(String url)
      【TAG】操作するファイルのディレクトリを指定します (初期値:FILE_URL[=])。
      パラメータ:
      url - ファイルURL
      関連項目:
      変更履歴:
      4.0.0.0 (2005/01/31) urlAppend メソッドの利用, 4.0.0.0 (2007/11/20) 指定されたディレクトリ名の最後が"\"or"/"で終わっていない場合に、"/"を付加する。, 6.4.2.1 (2016/02/05) URLの最後に、"/" を追加する処理を廃止。
      説明:
      この属性で指定されるディレクトリのファイルを操作します。 指定方法は、通常の fileURL 属性と同様に、先頭が、'/' (UNIX) または、2文字目が、 ":" (Windows)の場合は、指定のURLそのままのディレクトリに、そうでない場合は、 (初期値:システム定数のFILE_URL[=])。
    • setFile1

      public void setFile1(String fname)
      【TAG】基準となるファイル名を指定します(コマンドの左辺のファイル名です)。
      パラメータ:
      fname - ファイル名1
      説明:
      コマンドの左辺のファイル名です。 ※ 6.3.6.1 (2015/08/28) copyST アクション時に、copy元に、アドレス指定できるようにする。
    • setFile2

      public void setFile2(String fname)
      【TAG】処理結果となるファイル名を指定します(コマンドの右辺のファイル名です)。
      パラメータ:
      fname - ファイル名2
      説明:
      コマンドの右辺のファイル名です。 ただし、action="list" の時は、file2 を、フィルターとして使用します。
    • setNotEquals

      public void setNotEquals(String flag)
      【TAG】判定結果を反転させるかどうか[true/false]を指定します(初期値:false)。
      パラメータ:
      flag - 判定結果反転 [true:反転する/それ以外:通常]
      変更履歴:
      3.8.5.2 (2006/05/31) 新規追加
      説明:
      通常の判定結果において、不成立(false)の場合に、BODY を実行します。 通常の処理結果の正反対の処理を行います。 初期値は、通常 (true 以外)です。
    • setUseStop

      public void setUseStop(String flag)
      【TAG】エラー時BODYを処理後に停止するかどうか[true/false]を指定します(初期値:true)。
      パラメータ:
      flag - 処理後停止 [true:する/それ以外:しない]
      変更履歴:
      3.8.5.2 (2006/05/31) 新規追加
      説明:
      処理結果などに応じて、以下の処理を停止したい場合に、使用します。 通常は、条件を判定後、false の場合に、BODY部を出力(処理)した後に、 処理を停止します。(useStop="true") false を指定すると、判定結果に無関係に、以下の処理を実行します。 処理は継続したいが、警告表示する場合に、useStop="false" を指定します。 初期値は、停止する ("true")です。
    • setEncode

      public void setEncode(String enc)
      【TAG】ファイルを読み込む(action="read")際のエンコードを指定します(初期値:OS依存文字コード)。
      パラメータ:
      enc - ファイル読み込みのエンコード
      変更履歴:
      5.1.9.0 (2010/08/01) 新規作成
      説明:
      ファイルを読み込む(action="read")際のエンコードを指定します。 action="read"以外場合には、この属性値は利用されません。 指定しない場合は、OS依存文字コードで読み込まれます。
    • setUseLocal

      public void setUseLocal(String flag)
      【TAG】システム定数でクラウド設定されていても、クラウド環境を使用しない場合、trueを指定します(初期値:false)。
      パラメータ:
      flag - ローカル環境のみ [true:ローカルのみ/false:設定どおり]
      変更履歴:
      8.0.1.0 (2021/10/29) useLocal 属性を追加。, 8.0.1.0 (2021/10/29) useLocal 属性を追加。storageType , bucketName 削除
      説明:
      クラウド設定は、システム定数の『CLOUD_TARGET』と『CLOUD_BUCKET』の設定で自動的に使用しますが、 どうしてもローカルでのみ使いたい場合は、この属性を true に設定します。 標準はfalse:設定どおりとなります。 fromStorage,fromBucket,toStorage,toBucket from や to だけを強制的に、ローカルファイルを指定する場合は、空文字列ではなく、 fromStorage,fromBucket や、toStorage,toBucket に、"LOCAL" を指定します。 storegeとbucketは、どちらかが、LOCAL の場合は、ローカルファイル を使用します。 true/false以外を指定した場合はfalse扱いとします。
    • setFromLocal

      public void setFromLocal(String flag)
      【TAG】システム定数でクラウド設定されていても、クラウド環境を使用しない場合、trueを指定します(初期値:false)。
      パラメータ:
      flag - ローカル環境のみ [true:ローカルのみ/false:設定どおり]
      変更履歴:
      8.0.1.0 (2021/10/29) useLocal 属性を追加。
      説明:
      クラウド設定は、システム定数の『CLOUD_TARGET』と『CLOUD_BUCKET』の設定で自動的に使用しますが、 どうしてもローカルでのみ使いたい場合は、この属性を true に設定します。 標準はfalse:設定どおりとなります。 true/false以外を指定した場合はfalse扱いとします。
    • setToLocal

      public void setToLocal(String flag)
      【TAG】システム定数でクラウド設定されていても、クラウド環境を使用しない場合、trueを指定します(初期値:false)。
      パラメータ:
      flag - ローカル環境のみ [true:ローカルのみ/false:設定どおり]
      変更履歴:
      8.0.1.0 (2021/10/29) useLocal 属性を追加。
      説明:
      クラウド設定は、システム定数の『CLOUD_TARGET』と『CLOUD_BUCKET』の設定で自動的に使用しますが、 どうしてもローカルでのみ使いたい場合は、この属性を true に設定します。 標準はfalse:設定どおりとなります。 true/false以外を指定した場合はfalse扱いとします。
    • toString

      public String toString()
      このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。
      オーバーライド:
      toString クラス内 CommonTagSupport
      戻り値:
      このクラスの文字列表現
      このメソッドは、nullを返しません