您的位置:

Java如何判断文件是否存在

介绍

在进行Java开发过程中,经常需要判断文件是否存在。这是一个非常基础但重要的任务。

正文

方法一:使用File类的exists方法

File类是代表文件和目录路径名的抽象表示,可以用它判断文件是否存在。

    /**
     * 判断文件是否存在
     * @param filePath 文件路径
     * @return 存在返回true,否则返回false
     */
    public static boolean isFileExist(String filePath) {
        File file = new File(filePath);
        return file.exists();
    }

方法二:使用File类的isFile方法

isFile 方法是测试文件是否是一个标准文件的便捷方法。如果文件存在且是一个文件(而不是目录),则返回true。

    /**
     * 判断文件是否存在
     * @param filePath 文件路径
     * @return 存在返回true,否则返回false
     */
    public static boolean isFileExist(String filePath) {
        File file = new File(filePath);
        return file.isFile();
    }

方法三:使用Java 7的Files类

Java 7中,新增了一个Files类,可以用来操作文件和目录。可以使用Files.exists()方法来判断文件是否存在。

    /**
     * 判断文件是否存在
     * @param filePath 文件路径
     * @return 存在返回true,否则返回false
     */
    public static boolean isFileExist(String filePath) {
        Path path = Paths.get(filePath);
        return Files.exists(path);
    }

小结

以上是三种Java中判断文件是否存在的方法。一般情况下都可以使用第一种方法,如果需要更精确的判断可以使用第二种或第三种方法。

在使用File类的exists方法判断文件是否存在时,需要注意一下几点:

  1. 需要读取权限,否则返回false
  2. 传入的参数必须是绝对路径,不然也会返回 false
  3. 对于JSP或Servlet中相对路径的文件,可以使用ServletContext.getRealPath()获取绝对路径。