如何在 Java 中檢查檔案是否存在

Rupam Yadav 2023年1月30日 2020年11月24日
  1. 在 Java 中使用 java.io.File 檢查檔案是否存在
  2. 在 Java 中使用 isFile() 檢查檔案是否存在
  3. 使用 Path.isFile()isFile() 來檢查檔案是否存在
如何在 Java 中檢查檔案是否存在

本文將介紹 Java 中檢查檔案是否存在的幾種簡單方法。當我們想知道指定的檔案是否存在時,我們將使用不同的包和類。

在 Java 中使用 java.io.File 檢查檔案是否存在

Java 自己的 Input/Output 包 java.io.Fileexists() 方法來檢查指定的檔案是否存在。這個函式返回 boolean,也就是說我們可以把它放在條件語句中。

但是隻使用 exists() 方法有一個問題,因為如果我們不小心指定了一個目錄,它也會返回 true。這就是為什麼我們還要使用!file.isDirectory() 來確保給定的引數是一個檔案而不是一個目錄。

import java.io.File;

public class Main {
    public static void main(String[] args) {
       
    File file1 = new File("sampleFile.txt");
    File file2 = new File("xyz.txt");

    //Checks if file1 exists
    if(file1.exists() && !file1.isDirectory()){
        System.out.println(file1 + " Exists");
    }else{
        System.out.println(file1 + " Does not exists");
    }

    //Checks if file2 exists
    if(file2.exists()){
        System.out.println(file2 + " Exists");
    }else{
        System.out.println(file2 + " Does not exists");
    }
     
    }
}

輸出:

sampleFile.txt Exists
xyz.txt Does not exists

在 Java 中使用 isFile() 檢查檔案是否存在

下一個檢查指定檔案是否存在的方法是使用我們在上一個例子中使用的同一個包 java.io.File 中的 isFile() 函式。

exists() 相比,使用 isFile() 的好處是,我們不必檢查指定的檔案是否是一個目錄。正如函式名稱所示,它只檢查它是否是一個檔案。

import java.io.File;

public class Main {

    public static void main(String[] args) {
        File file = new File("sampleFile.txt");
        File directory = new File("E:/Work/java");

         if(file.isFile()){
                    System.out.println(file + " Exists");
                }else{
                     System.out.println(file + " Do not Exist or it is a directory");
                }

        if(directory.isFile()){
               System.out.println(directory + " Exists");
                }else{
                     System.out.println(directory + " Do not Exist or it is a directory");
                }
    }
}

輸出:

sampleFile.txt Exists
E:\Work\java Do not Exist or it is a directory

我們可以看到,如果一個現有的目錄作為 isFile() 函式的輸入引數,它會返回 false

使用 Path.isFile()isFile() 來檢查檔案是否存在

另一個 Java 包 java.nio.file 為我們提供了有用的方法,如 toFile()Paths。我們可以使用 Paths.get() 獲取 path,然後使用 toFile 將其轉換為檔案。

最後,我們可以把上一個例子中使用的方法 isFile() 帶回來,結合它來檢查檔案是否存在。

import java.nio.file.Paths;
import java.nio.file.Path;

public class Main {

    public static void main(String[] args) {
       Path path = Paths.get("sampleFile.txt");

    if(path.toFile().isFile()){
        System.out.println(path + " Exists");
    }else{
        
        System.out.println(path + " Do not Exists");
    }
    }
}

輸出:

sampleFile.txt Exists
Author: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

相關文章 - Java File