Class FileUtil

java.lang.Object
nablarch.core.util.FileUtil

@Published(tag="architect") public final class FileUtil extends Object
ファイルの取り扱いに関するユーティリティクラス。
Author:
Koichi Asano, Masato Inoue
  • Method Details

    • closeQuietly

      public static void closeQuietly(Closeable... closeables)
      リソースを解放する。

      例外が発生した場合は何もせず、次のリソース解放を行う。

      Parameters:
      closeables - リソース解放を行うクラス
    • getResource

      public static InputStream getResource(String url) throws IllegalArgumentException
      リソースを取得する。

      ファイルパスまたはクラスパス上のリソースを取得する。
      引数に指定するURLのフォーマットは下記の通り。

           <スキーム名>:<リソースのパス>
       
      URLの指定例を下記に示す。
       //ファイルパスの場合
       FileUtil.getResource("file:/var/log/log.properties");
      
       //クラスパスの場合
       FileUtil.getResource("classpath:nablarch/core/log/log.properties");
       
      Parameters:
      url - URL
      Returns:
      リソースのストリーム
      Throws:
      IllegalArgumentException - リソースを取得できなかった場合
      FileNotFoundException - リソースファイルが見つからなかった場合
    • getResourceURL

      public static URL getResourceURL(String url)
      URLを取得する。

      ファイルパスまたはクラスパス上のURLを取得する。
      引数に指定するURLのフォーマットは下記の通り。

           <スキーム名>:<リソースのパス>
       
      URLの指定例を下記に示す。
       //ファイルパスの場合
       FileUtil.getResourceURL("file:/var/log/log.properties");
      
       //クラスパスの場合
       FileUtil.getResourceURL("classpath:nablarch/core/log/log.properties");
       
      Parameters:
      url - URL文字列
      Returns:
      リソースのURL
      Throws:
      IllegalArgumentException - URLがnullまたは不正だった場合
    • getClasspathResource

      public static InputStream getClasspathResource(String path) throws IllegalArgumentException
      クラスパス上のリソースを取得する。

      以下に例を示す。

       FileUtil.getClasspathResource("nablarch/core/log/log.properties");
       
      Parameters:
      path - クラスパス
      Returns:
      リソースのストリーム
      Throws:
      IllegalArgumentException - クラスパス及びクラスパスから取得するURLがnullまたは、リソースが見つからない場合
    • getClasspathResourceURL

      public static URL getClasspathResourceURL(String path)
      クラスパス上のURLを取得する。

      以下に例を示す。

       FileUtil.getClasspathResource("nablarch/core/log/log.properties");
       
      Parameters:
      path - リソースのパス
      Returns:
      リソースのURL
      Throws:
      IllegalArgumentException - クラスパスがnullだった場合
    • listFiles

      public static File[] listFiles(String dir, String name)
      ディレクトリ配下のファイルおよびディレクトリを検索し、名前で昇順ソートした結果の配列を返す。

      ファイル名にはワイルドカード("*")を指定できる。
      ディレクトリは、絶対パスまたは相対パスで指定する。
      ディレクトリがnullだった場合、引数のファイル名を元に構築したFileオブジェクトを持つ要素が1つの配列が返される。

      Parameters:
      dir - ディレクトリ(null指定の場合、指定なし)
      name - ファイル名
      Returns:
      検索結果の配列
      Throws:
      NullPointerException - ファイル名がnullだった場合
    • deleteFile

      public static boolean deleteFile(File file)
      ファイルを削除する。
      Parameters:
      file - 削除するファイル
      Returns:
      ファイルが削除に成功した場合はtrue、失敗した場合はfalseを返却する。ファイルが存在しない場合はtrueを返却する。
      Throws:
      IllegalArgumentException - 削除するファイルがnullだった場合
    • extractSuffix

      public static String extractSuffix(String fileName)
      ファイル名から拡張子を抽出する。

      以下の仕様に当てはまる場合は、空文字列を返す。

      1. ファイル名の先頭がドット
      2. ファイル名の末尾がドット
      3. 拡張子にドットがない
      4. 拡張子が英数字以外
      Parameters:
      fileName - ファイル名
      Returns:
      拡張子
      Throws:
      IllegalArgumentException - ファイル名がnullだった場合
    • move

      public static void move(File src, File dest)
      ファイルを移動する。

      移動先に同名のファイルが存在していた場合、上書きする。

      Parameters:
      src - 移動元ファイル
      dest - 移動先ファイル
      Throws:
      IllegalArgumentException - 移動元ファイルまたは移動先ファイルがnullの場合
      RuntimeException - コピー元のファイルが削除できなかった場合
    • copy

      public static void copy(File src, File dest)
      ファイルをコピーする。

      コピー先に同名のファイルが存在していた場合、上書きする。

      Parameters:
      src - コピー元ファイル
      dest - コピー先ファイル
      Throws:
      IllegalArgumentException - コピー元ファイルまたはコピー先ファイルがnullの場合
      RuntimeException - コピーに失敗した場合