介绍
在进行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方法判断文件是否存在时,需要注意一下几点:
- 需要读取权限,否则返回false
- 传入的参数必须是绝对路径,不然也会返回 false
- 对于JSP或Servlet中相对路径的文件,可以使用ServletContext.getRealPath()获取绝对路径。