Class FileUtil

java.lang.Object
com.infoteria.asteria.util.file.FileUtil

public class FileUtil extends Object
ファイルを扱うためのユーティリティクラスです。
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static int
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static boolean
    copy(File src, File dest)
    copy(src, dest, true, true)と同じです。
    static boolean
    copy(File src, File dest, boolean overwrite)
    copy(src, dest, overwrite, true)と同じです。
    static boolean
    copy(File src, File dest, boolean overwrite, boolean keepLastModified)
    ファイルをコピーします。
    static boolean
    delete(File file)
    ファイルを削除します。 Bugtrack#857149 JDK 25(JDK-8355954)以降、File#deleteは読み取り専用属性が付いたファイルを 削除せずfalseを返すため、属性を解除してから再試行しJDK 24以前と同じ挙動に揃えます。 JGitのFileUtils#deleteやJDK 25のリリースノートが推奨する対処と同じ方式です。
    static boolean
    fileがディレクトリの場合、中身まで含めて削除します。
    static String
    File.getCanonicalPath()を呼び出します。 IOExceptionが発生した場合は、100Lミリ秒間隔で 最大5回までリトライします。 すべての試行が失敗した場合は、最後に発生したIOExceptionをスローします。
    static String
    ファイルの拡張子を取得します
    static List<File>
     
    static List<File>
     
    static String
    getRelativePath(File base, File file)
    fileのbaseからの相対パスを返します。
    static boolean
     
    static boolean
     
    static boolean
    ディレクトリの場合空のディレクトリかどうかを返します
    static boolean
     
    static String
    separatorCharを「/」に統一します。
    static byte[]
    readFile(File file)
    ファイルをバイト配列に読み込みます。
    static String
    separatorCharをプラットフォームの文字に変換します。
    static void
    updateFile(String filename, byte[] data)
    ファイルを更新します。
    同じ名前のファイルが存在する場合は元のファイルは「ファイル名.bak」という名前で1世代バックアップされます。
    static void
    writeFile(File file, byte[] data)
    バイト配列をファイルに書き込みます。

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • TRANSFER_SIZE

      public static int TRANSFER_SIZE
  • Constructor Details

    • FileUtil

      public FileUtil()
  • Method Details

    • replaceSeparator

      public static String replaceSeparator(String path)
      separatorCharをプラットフォームの文字に変換します。
    • normalizeSeparator

      public static String normalizeSeparator(String path)
      separatorCharを「/」に統一します。
    • readFile

      public static byte[] readFile(File file) throws IOException
      ファイルをバイト配列に読み込みます。
      Throws:
      IOException
    • writeFile

      public static void writeFile(File file, byte[] data) throws IOException
      バイト配列をファイルに書き込みます。
      Throws:
      IOException
    • copy

      public static boolean copy(File src, File dest) throws IOException
      copy(src, dest, true, true)と同じです。
      Throws:
      IOException
    • copy

      public static boolean copy(File src, File dest, boolean overwrite) throws IOException
      copy(src, dest, overwrite, true)と同じです。
      Throws:
      IOException
    • copy

      public static boolean copy(File src, File dest, boolean overwrite, boolean keepLastModified) throws IOException
      ファイルをコピーします。
      Parameters:
      src - コピー元ファイル
      dest - コピー先ファイル
      overwrite - コピー先ファイルが存在する時に上書きするかどうかを指定します
      keepLastModified - コピー時にファイルのタイムスタンプを維持するかどうかを指定します。
      Returns:
      ファイルのコピーに成功した場合はtrue
      Throws:
      IOException
    • updateFile

      public static void updateFile(String filename, byte[] data) throws IOException
      ファイルを更新します。
      同じ名前のファイルが存在する場合は元のファイルは「ファイル名.bak」という名前で1世代バックアップされます。
      Parameters:
      filename - ファイル名
      data - ファイルデータ
      Throws:
      IOException - 更新に失敗した場合
    • getRelativePath

      public static String getRelativePath(File base, File file)
      fileのbaseからの相対パスを返します。
    • delete

      public static boolean delete(File file)
      ファイルを削除します。 Bugtrack#857149 JDK 25(JDK-8355954)以降、File#deleteは読み取り専用属性が付いたファイルを 削除せずfalseを返すため、属性を解除してから再試行しJDK 24以前と同じ挙動に揃えます。 JGitのFileUtils#deleteやJDK 25のリリースノートが推奨する対処と同じ方式です。
      Parameters:
      file - 削除するファイル
      Returns:
      true 削除できました。
    • deleteRecursive

      public static boolean deleteRecursive(File file)
      fileがディレクトリの場合、中身まで含めて削除します。
    • getExt

      public static String getExt(File f)
      ファイルの拡張子を取得します
    • isEmptyDirectory

      public static boolean isEmptyDirectory(File dir)
      ディレクトリの場合空のディレクトリかどうかを返します
      Parameters:
      dir - 確認対象のディレクトリ
      Returns:
      true : 空のディレクトリです , false : ファイルが存在します
    • getFileList

      public static List<File> getFileList(File path) throws IllegalStateException
      Throws:
      IllegalStateException
    • getFileList

      public static List<File> getFileList(String[] paths)
    • isFileSystemCaseSensitive

      public static boolean isFileSystemCaseSensitive()
    • hasWildcards

      public static boolean hasWildcards(File file)
    • hasWildcards

      public static boolean hasWildcards(String path)
    • getCanonicalPathWithRetry

      public static String getCanonicalPathWithRetry(File file) throws IOException
      File.getCanonicalPath()を呼び出します。 IOExceptionが発生した場合は、100Lミリ秒間隔で 最大5回までリトライします。 すべての試行が失敗した場合は、最後に発生したIOExceptionをスローします。
      Throws:
      IOException