В Java есть два основных метода проверки существования файла или каталога. Эти:
1 - Files.exists
из пакета NIO
2 - File.exists
из устаревшего пакета ввода-вывода
Давайте посмотрим на некоторые примеры из каждого пакета.
В коде используется Path
и Paths
из пакета Java NIO, чтобы проверить, существует ли файл:
import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; public class CheckFileExist {
public static void main(String[] args) {
Path path = Paths.get('/path/to/file/app.log');
if (Files.exists(path)) {
if (Files.isRegularFile(path)) {
System.out.println('App log file exists');
}
} else {
System.out.println('App log file does not exists');
}
} }
Точно так же, если мы хотим проверить, существует ли каталог в Java, используя пакет NIO:
import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; public class CheckDirectoryExist {
public static void main(String[] args) {
Path path = Paths.get('/path/to/logs/');
if (Files.exists(path)) {
if (Files.isDirectory(path)) {
System.out.println('Logs directory exists');
}
} else {
System.out.println('Logs directory does not exist');
}
} }
Если вы не используете пакет Java NIO, вы можете использовать устаревший пакет Java IO:
import java.io.File; public class CheckFileExists {
public static void main(String[] args) {
File file = new File('/path/to/file/app.log');
if(file.exists()) {
System.out.println('App log file exists');
} else {
System.out.println('App log file does not exist');
}
} }
Аналогично, чтобы проверить каталог, мы можем использовать:
import java.io.File; public class CheckFileExists {
public static void main(String[] args) {
File file = new File('/path/to/logs/');
if(file.isDirectory()) {
System.out.println('Logs directory exists');
} else {
System.out.println('Logs directory does not exist');
}
} }
дальнейшее чтение