Java 7でファイルが空かどうかを確認するにはどうすればよいですか?
ObjectInputStreamのavailable()メソッドを使用して試しましたが、ファイルにデータが含まれている場合でも、常にゼロが返されます。
質問する
94443 次
6 に答える
34
File file = new File("file_path");
System.out.println(file.length());
于 2012-04-23T13:26:32.137 に答える
18
File file = new File(path);
boolean empty = !file.exists() || file.length() == 0;
これは次のように短縮できます。
boolean empty = file.length() == 0;
ドキュメントによると、メソッドは
この抽象パス名で示されるファイルの長さ(バイト単位)。ファイルが存在しない場合は0L
于 2012-04-23T13:23:55.377 に答える
4
File file = new File(path);
boolean empty = file.exists() && file.length() == 0;
ファイルが空かどうかを確認したい場合は、ファイルが存在することを考慮する必要があることを強調したいと思います。
于 2012-04-23T17:01:09.120 に答える
2
BufferedReader br = new BufferedReader(new FileReader("your_location"));
if (br.readLine()) == null ) {
System.out.println("No errors, and file empty");
}
于 2012-04-23T13:23:15.750 に答える
1
J2RE javadocsによると:http://docs.oracle.com/javase/7/docs/api/java/io/File.html#length ()
public long length()
Returns the length of the file denoted by this abstract pathname. The return value is unspecified if this pathname denotes a directory.
だからnew File("path to your file").length() > 0
、トリックを行う必要があります。bdの前の答えでごめんなさい。:(
于 2012-04-23T13:23:39.937 に答える
0
File file = new File("path.txt");
if (file.exists()) {
FileReader fr = new FileReader(file);
if (fr.read() == -1) {
System.out.println("EMPTY");
} else {
System.out.println("NOT EMPTY");
}
} else {
System.out.println("DOES NOT EXISTS");
}
于 2012-04-23T13:28:56.820 に答える