java如何判断文件是否存在
使用 java.io.File 类
通过 File 类的 exists() 方法可以判断文件是否存在。该方法返回一个布尔值,若文件存在则返回 true,否则返回 false。

import java.io.File;
public class FileExistsExample {
public static void main(String[] args) {
File file = new File("path/to/your/file.txt");
if (file.exists()) {
System.out.println("文件存在");
} else {
System.out.println("文件不存在");
}
}
}
使用 java.nio.file.Files 类
Java NIO 提供了更现代的 Files 类,其 exists() 方法结合 Paths 可以更灵活地检查文件是否存在。

import java.nio.file.Files;
import java.nio.file.Paths;
public class NioFileExistsExample {
public static void main(String[] args) {
boolean exists = Files.exists(Paths.get("path/to/your/file.txt"));
System.out.println("文件存在: " + exists);
}
}
检查文件是否为普通文件
有时需要确认路径指向的是文件而非目录。可以通过 Files.isRegularFile() 方法进一步验证。
import java.nio.file.Files;
import java.nio.file.Paths;
public class IsRegularFileExample {
public static void main(String[] args) {
boolean isFile = Files.isRegularFile(Paths.get("path/to/your/file.txt"));
System.out.println("是普通文件: " + isFile);
}
}
结合检查存在性和可读性
实际应用中可能需要同时检查文件是否存在且可读。Files.isReadable() 方法可以满足这一需求。
import java.nio.file.Files;
import java.nio.file.Paths;
public class FileReadableExample {
public static void main(String[] args) {
boolean isReadable = Files.isReadable(Paths.get("path/to/your/file.txt"));
System.out.println("文件可读: " + isReadable);
}
}
注意事项
- 路径字符串需根据操作系统调整分隔符(如 Windows 用
\,Linux/macOS 用/)。 - 相对路径基于程序运行的工作目录,建议使用绝对路径或明确指定相对路径基准。
- NIO 的
Files类功能更丰富,推荐在新项目中使用。






