本サイトはプロモーション(広告)が含まれています。

【Java】空ファイルかどうか判定する方法

【Java】空ファイルかどうか判定する方法

 Javaで読込みを実施するファイルがカラの場合かどうか判定するにはlengthメソッドとexistsでファイルが存在し、サイズが0であれば空ファイルであることを判定することができます。

 lengthメソッドを使用するとファイルのサイズを取得(バイト単位)することができます。この際にファイルが存在しない場合であってもゼロを返します。

length:ファイルのサイズを取得(バイト単位)

existsメソッドを使用すると、ファイルが存在するか調べることができます。存在する場合はtrue、しない場合はfalseを返します。

exists():ファイルが存在するか調べることができます

 以下は、lengthメソッド、existsメソッドの動作確認のサンプルプログラムとなります。カラファイルと判別するには、lengthメソッドで取得する値が0、existsメソッドがtrueが必要であることが分かります。

// 0バイトのファイル(空ファイル)
File file1 = new File("C:\\eclipse\\workspace\\test.csv");
// 2バイトのファイル(改行コードのみ)
File file2 = new File("C:\\eclipse\\workspace\\test2.csv");
// 指定パスのファイルは存在しない
File file3 = new File("C:\\eclipse\\workspace\\test3.csv");
// 0が出力されることを確認
System.out.println(file1.length());
// 2が出力されることを確認
System.out.println(file2.length());
// 0が出力されることを確認(ファイルが存在しない場合でも0を返す)
System.out.println(file3.length());
// trueを出力
System.out.println(file1.exists());
// trueを出力
System.out.println(file2.exists());
// falseを出力
System.out.println(file3.exists());

// 実行結果
0
2
0
true
true
false

空ファイルかどうか判定するにはlengthメソッドで0、existsメソッドでtrueとすればよい

 Javaで空ファイルかどうか判別するには

  1. lengthメソッドで0 かつ
  2. existsメソッドでtrue

とすることで判定できます。

// 0バイトのファイル(空ファイル)
File file1 = new File("C:\\eclipse\\workspace\\test.csv");
// 2バイトのファイル(改行コードのみ)
File file2 = new File("C:\\eclipse\\workspace\\test2.csv");
// 指定パスのファイルは存在しない
File file3 = new File("C:\\eclipse\\workspace\\test3.csv");

if (file1.length() ==0 && file1.exists()){
System.out.println("file1は空");
} else {
System.out.println("file1は空でない");
}
if (file2.length() ==0 && file2.exists()){
System.out.println("file2は空");
} else {
System.out.println("file2は空でない");
}
if (file3.length() ==0 && file3.exists()){
System.out.println("file3は空");
} else {
System.out.println("file3は空でない");
}

// 実行結果
file1は空
file2は空でない
file3は空でない

Javaの記事一覧へ

PAGE TOP