openGionopenGion
5.8.1.1

org.opengion.fukurou.util
クラス FileUtil

java.lang.Object
  上位を拡張 org.opengion.fukurou.util.FileUtil

public final class FileUtil
extends java.lang.Object

FileUtil.java は、共通的に使用される File関連メソッドを集約した、クラスです。 全変数は、public static final 宣言されており、全メソッドは、public static synchronized 宣言されています。

機能分類
ユーティリティ
バージョン
4.0
作成者
Kazuhiko Hasegawa
導入されたバージョン:
JDK5.0,

フィールドの概要
static char EXTENSION_SEPARATOR
          5.6.1.2 (2013/02/22) ファイルの拡張子の区切りを表す文字
 
メソッドの概要
static boolean changeCrLfcopy(java.io.File fromFile, java.io.File toFile)
          ファイルのバイナリコピーを行います。
static java.io.File checkFile(java.lang.String dir, java.lang.String filename)
          指定のファイル名が、実際に存在しているかどうかをチェックします。
static java.io.File checkFile(java.lang.String dir, java.lang.String filename, int count)
          指定のファイル名が、実際に存在しているかどうかをチェックします。
static boolean copy(java.io.File fromFile, java.io.File toFile)
          ファイルのバイナリコピーを行います。
static boolean copy(java.io.File fromFile, java.io.File toFile, boolean keepTimeStamp)
          ファイルのバイナリコピーを行います。
static boolean copy(java.io.InputStream input, java.io.OutputStream output)
          入出力ストリーム間でデータの転送を行います。
static boolean copy(java.lang.String fromFile, java.lang.String toFile)
          ファイルのバイナリコピーを行います。
static boolean copy(java.lang.String fromFile, java.lang.String toFile, boolean keepTimeStamp)
          ファイルのバイナリコピーを行います。
static boolean copyDirectry(java.io.File fromDir, java.io.File toDir)
          再帰処理でディレクトリをコピーします。
static boolean copyDirectry(java.io.File fromDir, java.io.File toDir, boolean keepTimeStamp)
          再帰処理でディレクトリをコピーします。
static boolean copyDirectry(java.lang.String fromDir, java.lang.String toDir)
          再帰処理でディレクトリのコピーを行います。
static boolean deleteFiles(java.io.File file)
          指定されたファイル及びディレクトを削除します。
static java.lang.String getBaseName(java.lang.String filename)
          指定されたファイル名(パスを含む)から、パスも拡張子もないファイル名を返します。
static java.io.BufferedReader getBufferedReader(java.io.File file, java.lang.String encode)
          Fileオブジェクトとエンコードより BufferedReaderオブジェクトを作成します。
static java.lang.String getExtension(java.lang.String fileName)
          ファイル名から 拡張子を取得します。
static void getFileList(java.io.File dir, boolean sort, java.util.List<java.lang.String> list)
          指定されたディレクトリを基点としたファイル名(パスを含む)の一覧を返します。
static void getFileList(java.io.File dir, boolean sort, java.util.List<java.lang.String> list, boolean isCopy)
          指定されたディレクトリを基点としたファイル名(パスを含む)の一覧を返します。
static java.io.PrintWriter getLogWriter(java.lang.String file)
          ファイル名より、PrintWriterオブジェクトを作成する簡易メソッドです。
static java.io.PrintWriter getNonFlushPrintWriter(java.io.Writer writer)
          PrintWriter を継承した、JspWriterなどの Writer 用のクラスを定義します。
static java.io.PrintWriter getPrintWriter(java.io.File file, java.lang.String encode)
          Fileオブジェクトとエンコードより PrintWriterオブジェクトを作成します。
static java.io.PrintWriter getPrintWriter(java.io.File file, java.lang.String encode, boolean append)
          Fileオブジェクトとエンコードより PrintWriterオブジェクトを作成します。
static java.io.PrintWriter getPrintWriter(java.io.OutputStream os, java.lang.String encode)
          OutputStreamとエンコードより PrintWriterオブジェクトを作成します。
static void main(java.lang.String[] args)
          ファイルをコピーします。
static boolean renameTo(java.io.File fromFile, java.io.File toFile, boolean useBackup)
          ファイルをリネームを行います。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

EXTENSION_SEPARATOR

public static final char EXTENSION_SEPARATOR
5.6.1.2 (2013/02/22) ファイルの拡張子の区切りを表す文字

関連項目:
定数フィールド値
メソッドの詳細

getPrintWriter

public static java.io.PrintWriter getPrintWriter(java.io.File file,
                                                 java.lang.String encode)
Fileオブジェクトとエンコードより PrintWriterオブジェクトを作成します。

パラメータ:
file - 出力するファイルオブジェクト
encode - ファイルのエンコード
戻り値:
PrintWriterオブジェクト
例外:
java.lang.RuntimeException - 何らかのエラーが発生した場合

getPrintWriter

public static java.io.PrintWriter getPrintWriter(java.io.File file,
                                                 java.lang.String encode,
                                                 boolean append)
Fileオブジェクトとエンコードより PrintWriterオブジェクトを作成します。

パラメータ:
file - 出力するファイルオブジェクト
encode - ファイルのエンコード
append - ファイルを追加モード(true)にするかどうか
戻り値:
PrintWriterオブジェクト
例外:
java.lang.RuntimeException - 何らかのエラーが発生した場合

getLogWriter

public static java.io.PrintWriter getLogWriter(java.lang.String file)
ファイル名より、PrintWriterオブジェクトを作成する簡易メソッドです。 これは、ファイル名は、フルパスで、追加モードで、UTF-8 エンコードの ログファイルを出力する場合に使用します。 また、ファイル名に、"System.out" と、"System.err" を指定できます。 その場合は、標準出力、または、標準エラー出力に出力されます。 "System.out" と、"System.err" を指定した場合は、NonClosePrintWriter オブジェクトが返されます。これは、close() 処理が呼ばれても、何もしない クラスです。また、常に内部キャッシュの同じオブジェクトが返されます。

パラメータ:
file - 出力するファイル名
戻り値:
PrintWriterオブジェクト
例外:
java.lang.RuntimeException - 何らかのエラーが発生した場合
java.lang.IllegalArgumentException - ファイル名が null の場合

getPrintWriter

public static java.io.PrintWriter getPrintWriter(java.io.OutputStream os,
                                                 java.lang.String encode)
OutputStreamとエンコードより PrintWriterオブジェクトを作成します。

パラメータ:
os - 利用するOutputStream
encode - ファイルのエンコード
戻り値:
PrintWriterオブジェクト
例外:
java.lang.RuntimeException - 何らかのエラーが発生した場合
変更履歴:
5.5.2.0 (2012/05/01) 新規追加

getNonFlushPrintWriter

public static java.io.PrintWriter getNonFlushPrintWriter(java.io.Writer writer)
PrintWriter を継承した、JspWriterなどの Writer 用のクラスを定義します。 例えば、JspWriterなどの JSP/Servlet等のフレームワークで使用される Writer では、flush や close 処理は、フレームワーク内で行われます。 その場合、通常のファイルと同じ用に、flush や close をアプリケーション側で 行うと、内部処理的に不整合が発生したり、最悪の場合エラーになります。 このクラスは、NonFlushPrintWriter クラスのオブジェクトを返します。 これは、通常の、new PrintWriter( Writer ) で、求めるのと、ほとんど同様の 処理を行いますが、close() と flush() メソッドが呼ばれても、何もしません。

パラメータ:
writer - 出力するWriteオブジェクト(NonFlushPrintWriterクラス)
戻り値:
PrintWriterオブジェクト

getBufferedReader

public static java.io.BufferedReader getBufferedReader(java.io.File file,
                                                       java.lang.String encode)
Fileオブジェクトとエンコードより BufferedReaderオブジェクトを作成します。

パラメータ:
file - 入力するファイルオブジェクト
encode - ファイルのエンコード
戻り値:
BufferedReaderオブジェクト
例外:
java.lang.RuntimeException - 何らかのエラーが発生した場合

checkFile

public static java.io.File checkFile(java.lang.String dir,
                                     java.lang.String filename)
指定のファイル名が、実際に存在しているかどうかをチェックします。 存在しない場合は、2秒毎に、3回確認します。 それでも存在しない場合は、エラーを返します。 return されるFileオブジェクトは、正規の形式(CanonicalFile)です。

パラメータ:
dir - フォルダ名
filename - ファイル名
戻り値:
存在チェック(なければ null/あれば、CanonicalFile)

checkFile

public static java.io.File checkFile(java.lang.String dir,
                                     java.lang.String filename,
                                     int count)
指定のファイル名が、実際に存在しているかどうかをチェックします。 存在しない場合は、2秒毎に、指定の回数分確認します。 それでも存在しない場合は、エラーを返します。 return されるFileオブジェクトは、正規の形式(CanonicalFile)です。

パラメータ:
dir - フォルダ名
filename - ファイル名
count - 回数指定
戻り値:
存在チェック(なければ null/あれば、CanonicalFile)

copy

public static boolean copy(java.lang.String fromFile,
                           java.lang.String toFile)
ファイルのバイナリコピーを行います。 copy( File,File,false ) を呼び出します。

パラメータ:
fromFile - コピー元ファイル名
toFile - コピー先ファイル名
戻り値:
バイナリコピーが正常に終了したかどうか[true:成功/false:失敗]
関連項目:
copy( File,File,boolean )
変更履歴:
5.1.6.0 (2010/05/01) 戻り値に、true/false 指定します。

copy

public static boolean copy(java.lang.String fromFile,
                           java.lang.String toFile,
                           boolean keepTimeStamp)
ファイルのバイナリコピーを行います。 copy( File,File,boolean ) を呼び出します。 第3引数の、keepTimeStamp=true で、コピー元のファイルのタイムスタンプを、 コピー先にもセットします。

パラメータ:
fromFile - コピー元ファイル名
toFile - コピー先ファイル名
keepTimeStamp - タイムスタンプ維持[true/false]
戻り値:
バイナリコピーが正常に終了したかどうか[true:成功/false:失敗]
関連項目:
copy( File,File,boolean )
変更履歴:
5.1.6.0 (2010/05/01) 戻り値に、true/false 指定します。

copy

public static boolean copy(java.io.File fromFile,
                           java.io.File toFile)
ファイルのバイナリコピーを行います。 copy( File,File,false ) を呼び出します。

パラメータ:
fromFile - コピー元ファイル
toFile - コピー先ファイル
戻り値:
バイナリコピーが正常に終了したかどうか[true:成功/false:失敗]
関連項目:
copy( File,File,boolean )
変更履歴:
5.1.6.0 (2010/05/01) 戻り値に、true/false 指定します。

copy

public static boolean copy(java.io.File fromFile,
                           java.io.File toFile,
                           boolean keepTimeStamp)
ファイルのバイナリコピーを行います。 第3引数の、keepTimeStamp=true で、コピー元のファイルのタイムスタンプを、 コピー先にもセットします。 toFile が、ディレクトリの場合は、fromFile のファイル名をそのままコピーします。 fromFile がディレクトリの場合は、エラーにします。 copyDirectry( File,Fileboolean )を使用してください。(自動処理はしていません)

パラメータ:
fromFile - コピー元ファイル
toFile - コピー先ファイル
keepTimeStamp - タイムスタンプ維持[true/false]
戻り値:
バイナリコピーが正常に終了したかどうか[true:成功/false:失敗]
関連項目:
copyDirectry( File,File,boolean )
変更履歴:
5.1.6.0 (2010/05/01) 新規追加
5.6.5.2 (2013/06/21) ByteBufferを利用した方式から、transferTo を使用する方式に変更
5.7.1.2 (2013/12/20) copy先(toFile)のフォルダが存在しなければ、作成します。

changeCrLfcopy

public static boolean changeCrLfcopy(java.io.File fromFile,
                                     java.io.File toFile)
ファイルのバイナリコピーを行います。 このファイルコピーは、バイナリファイルの 改行コードを CR+LF に統一します。また、UTF-8 の BOM(0xef,0xbb,0xbf) があれば、 取り除きます。

パラメータ:
fromFile - コピー元ファイル
toFile - コピー先ファイル
戻り値:
バイナリコピーが正常に終了したかどうか[true:成功/false:失敗]
変更履歴:
5.1.6.0 (2010/05/01) 新規追加

copy

public static boolean copy(java.io.InputStream input,
                           java.io.OutputStream output)
入出力ストリーム間でデータの転送を行います。 ここでは、すでに作成されたストリームに基づき、データの入出力を行います。 よって、先にフォルダ作成や、存在チェック、ファイルの削除などの必要な処理は 済まして置いてください。 また、このメソッド内で、ストリームのクロース処理は行っていません。

パラメータ:
input - 入力ストリーム
output - 出力ストリーム
戻り値:
データ転送が正常に終了したかどうか[true:成功/false:失敗]
変更履歴:
5.1.6.0 (2010/05/01) 新規追加

copyDirectry

public static boolean copyDirectry(java.lang.String fromDir,
                                   java.lang.String toDir)
再帰処理でディレクトリのコピーを行います。 指定されたコピー元ディレクトリがディレクトリでなかったり存在しないときは falseを返します。

パラメータ:
fromDir - コピー元ディレクトリ名
toDir - コピー先ディレクトリ名
戻り値:
ディレクトリのコピーが正常に終了したかどうか[true:成功/false:失敗]
変更履歴:
4.3.0.0 (2008/07/24) 追加
5.1.6.0 (2010/05/01) 戻り値に、true/false 指定します。

copyDirectry

public static boolean copyDirectry(java.io.File fromDir,
                                   java.io.File toDir)
再帰処理でディレクトリをコピーします。 指定されたコピー元ディレクトリがディレクトリでなかったり存在しないときは falseを返します。

パラメータ:
fromDir - コピー元ディレクトリ
toDir - コピー先ディレクトリ
戻り値:
ディレクトリのコピーが正常に終了したかどうか[true:成功/false:失敗]
変更履歴:
4.3.0.0 (2008/07/24) 追加
5.1.6.0 (2010/05/01) 内部処理を若干変更します。

copyDirectry

public static boolean copyDirectry(java.io.File fromDir,
                                   java.io.File toDir,
                                   boolean keepTimeStamp)
再帰処理でディレクトリをコピーします。 指定されたコピー元ディレクトリがディレクトリでなかったり存在しないときは falseを返します。

パラメータ:
fromDir - コピー元ディレクトリ
toDir - コピー先ディレクトリ
keepTimeStamp - タイムスタンプ維持[true/false]
戻り値:
ディレクトリのコピーが正常に終了したかどうか[true:成功/false:失敗]
変更履歴:
4.3.0.0 (2008/07/24) 追加
5.1.6.0 (2010/05/01) 内部処理を若干変更します。
5.3.7.0 (2011/07/01) フォルダにアクセスできない場合は、エラーを返します。

deleteFiles

public static boolean deleteFiles(java.io.File file)
指定されたファイル及びディレクトを削除します。 ディレクトリの場合はサブフォルダ及びファイルも削除します。 1つでもファイルの削除に失敗した場合、その時点で処理を中断しfalseを返します。

パラメータ:
file - 削除ファイル/ディレクトリ
戻り値:
ファイル/ディレクトリの削除に終了したかどうか[true:成功/false:失敗]
変更履歴:
5.3.7.0 (2011/07/01) フォルダにアクセスできない場合は、エラーを返します。

getFileList

public static void getFileList(java.io.File dir,
                               boolean sort,
                               java.util.List<java.lang.String> list,
                               boolean isCopy)
指定されたディレクトリを基点としたファイル名(パスを含む)の一覧を返します。

パラメータ:
dir - 基点となるディレクトリ
sort - ファイル名でソートするか
list - ファイル名一覧を格納するList
isCopy - コピー中ファイルを除外するか [true:含む/false:除外]
変更履歴:
4.3.6.6 (2009/05/15) 新規作成
5.4.3.2 (2012/01/06) 引数isCopy追加

getFileList

public static void getFileList(java.io.File dir,
                               boolean sort,
                               java.util.List<java.lang.String> list)
指定されたディレクトリを基点としたファイル名(パスを含む)の一覧を返します。 互換性のため、コピー中ファイルも含みます。

パラメータ:
dir - 基点となるディレクトリ
sort - ファイル名でソートするか
list - ファイル名一覧を格納するList
変更履歴:
5.4.3.2 (2012/01/06) コピー中対応のため引数4つを作成する

getBaseName

public static java.lang.String getBaseName(java.lang.String filename)
指定されたファイル名(パスを含む)から、パスも拡張子もないファイル名を返します。

パラメータ:
filename - ファイル名(パスを含む)
戻り値:
パスも、拡張子もないファイル名
変更履歴:
5.6.1.2 (2013/02/22) 新規作成

renameTo

public static boolean renameTo(java.io.File fromFile,
                               java.io.File toFile,
                               boolean useBackup)
ファイルをリネームを行います。 引数のuseBackup属性を true にすると、toFile が存在した場合、toFile の直下に "_backup" フォルダを 作成して、toFile + "_" + (現在時刻のLONG値) + "." + (toFileの拡張子) に名前変更します。 useBackup属性を false にすると、toFile が存在した場合、toFile を削除します。

パラメータ:
fromFile - 名前変更する元のファイル
toFile - 名前変更後のファイル
useBackup - バックアップを作成するかどうか(true:作成する/false:作成しない)
戻り値:
true:正常処理/false:異常処理
変更履歴:
5.7.1.2 (2013/12/20) 新規追加

getExtension

public static java.lang.String getExtension(java.lang.String fileName)
ファイル名から 拡張子を取得します。 一番最後に見つかったピリオドから後ろを切り取って返します。 拡張子の区切り文字(".")がなければ、空文字列を返します。

パラメータ:
fileName - ファイル名
戻り値:
拡張子
変更履歴:
5.7.1.2 (2013/12/20) UploadedFileからに移動。若干のロジック変更

main

public static void main(java.lang.String[] args)
                 throws java.lang.Throwable
ファイルをコピーします。 引数に <file1> <file2> [<encode1> <encode2>] を指定します。 file1 を読み込み、file2 にコピーします。コピー前に、file2 は、file2_backup にコピーします。 file1 が、ディレクトリの場合は、ディレクトリごとコピーします。 encode1、encode2 を指定すると、エンコード変換しながらコピーになります。 この場合は、ファイル同士のコピーのみになります。

パラメータ:
args - 引数配列 file1 file2 [encode1 encode2]
例外:
java.lang.Throwable - なんらかのエラーが発生した場合。
変更履歴:
4.0.0.0 (2007/11/28) メソッドの戻り値をチェックします。
5.1.6.0 (2010/05/01) 引数の並び順、処理を変更します。

openGion 5.8.1.1

Webアプリケーションフレームワーク openGion
SourceForge.JPCopyright (c) 2009 The openGion Project.