【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で空ファイルかどうか判別するには
- 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");
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は空でない






コメントを残す