Computer >> Máy Tính >  >> Lập trình >> Java

Cách kiểm tra xem tệp hoặc thư mục có tồn tại trong Java hay không

Trong Java, có hai phương pháp chính để kiểm tra xem tệp hoặc thư mục có tồn tại hay không. Đây là:

1 - Files.exists từ gói NIO

2 - File.exists từ gói IO kế thừa

Hãy xem một số ví dụ từ mỗi gói.

Kiểm tra xem tệp có tồn tại không (Java NIO)

Mã sử ​​dụng PathPath từ gói Java NIO để kiểm tra xem tệp có tồn tại hay không:

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");
        }
    }
}

Kiểm tra xem Thư mục có tồn tại không (Java NIO)

Tương tự như vậy, nếu chúng ta muốn kiểm tra xem một thư mục có tồn tại trong Java hay không bằng cách sử dụng gói 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");
        }
    }
}

Kiểm tra xem tệp có tồn tại không (Java Legacy IO)

Nếu bạn không sử dụng gói Java NIO, bạn có thể sử dụng gói Java IO cũ:

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");
        }
    }
}

Kiểm tra xem Thư mục có tồn tại không (Java Legacy IO)

Tương tự, để kiểm tra thư mục, chúng ta có thể sử dụng:

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");
        }
    }
}