【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は空でない
コメントを残す