Рубрики
Без рубрики

Как проверить, существует ли файл на Java

В Java мы можем использовать “Files.exists(путь)”, чтобы проверить, существует ли файл или каталог.

В 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/”