В Java мы можем использовать Files.exists(путь) чтобы проверить, существует ли файл. Путь может быть файлом или каталогом. Лучше сочетать с !Каталог файлов.IS (путь) чтобы убедиться, что существующий файл не является каталогом.
Path path = Paths.get("/home/mkyong/test/test.log");
// file exists and it is not a directory
if(Files.exists(path) && !Files.isDirectory(path)) {
System.out.println("File exists!");
}
1. Файлы.существует (путь) (НИО)
В этом примере используется Files.exists(путь) для проверки наличия файла.
package com.mkyong.io.file;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class FileExist {
public static void main(String[] args) {
Path path = Paths.get("/home/mkyong/test/test.log");
// check exists for file and directory
if (Files.exists(path)) {
if (Files.isRegularFile(path)) {
System.out.println("File exists!");
}
if (Files.isDirectory(path)) {
System.out.println("File exists, but it is a directory.");
}
} else {
System.out.println("File doesn't exist");
}
}
}
1.2 Если файл является символической ссылкой или программной ссылкой, Files.exists будет следовать по ссылке по умолчанию. Files.существует принимает два аргумента, мы можем передать второй параметр Ссылка. NOFOLLOW_LINKS аргумент, указывающий методу прекратить переход по символической ссылке.
import java.nio.file.Files;
import java.nio.file.LinkOption;
// do not follow symbolic link
if(Files.exists(path, LinkOption.NOFOLLOW_LINKS)){
//...
}
1.3 Существует Files.notexists() для проверки несуществующего файла.
if(Files.notExists(path)){
System.out.println("File doesn't exist");
}
2. Файл.существует (устаревший ввод-вывод)
Унаследованный IO java.io . Файл имеет аналогичный Файл.существует() для проверки, существует ли файл или каталог, но он не поддерживает символические ссылки.
package com.mkyong.io.file;
import java.io.File;
public class FileExist2 {
public static void main(String[] args) {
File file = new File("/home/mkyong/test/");
if(file.exists() && !file.isDirectory()){
System.out.println("File exists!");
}else{
System.out.println("File doesn't exist");
}
}
}
Скачать Исходный Код
$клон git $клон git
$cd java-ввод-вывод
Рекомендации
Оригинал: “https://mkyong.com/java/how-to-check-if-a-file-exists-in-java/”