解决JavaWeb-file.isDirectory()遇到的坑问题
更新时间:2025年02月14日 09:49:00 作者:Monly21
JavaWeb开发中,使用`file.isDirectory()`判断路径是否为文件夹时,需要特别注意:该方法只能判断已存在的文件夹,若路径不存在,无论其实际是否应为文件夹,均会返回`false`,为了解决这个问题,可以采用正则表达式进行判断,但要求路径字符串的结尾必须添加反斜杠(\)
JavaWeb-file.isDirectory()遇到的坑
概述
通过new File(filePath) 获取文件对象file,通过file.isDirectory()判断传入的路径是否是文件夹,但是这种方式只能适配于文件夹已经存在的情况
详解
当文件夹已经存在时,使用isDirectory方法可以判断传入的路径是否是文件夹
String path = "D:\repo\JavaDemo\FileTransfer\static\service\file1"; File file = new File(str); System.out.println(file.isDirectory()); // true
但是,当你传入的路径在磁盘目录中不存在时,就无法判断,会一直返回false
String path = "D:\repo\JavaDemo\FileTransfer\static\service\zhangsan"; File file = new File(str); System.out.println(file.isDirectory()); // false
解决方案
可以使用正则表达式进行判断,但是路径的结尾一定要加 \
String path = "D:\repo\JavaDemo\FileTransfer\static\service\zhangsan\\";
if(str.matches("^[A-z]:\\\\(.+?\\\\)*$")){
System.out.println("文件夹!!!");
}总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
解决java使用axios.js的post请求后台时无法接收到入参的问题
今天小编就为大家分享一篇解决java使用axios.js的post请求后台时无法接收到入参的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-09-09
详解Java中布隆过滤器(Bloom Filter)原理及其使用场景
布隆过滤器是1970年由布隆提出的,它实际上是一个很长的二进制向量和一系列随机映射函数,它的作用是检索一个元素是否存在我们的集合之中,本文给大家详细的讲解一下布隆过滤器,感兴趣的同学可以参考阅读2023-05-05


最新评论