解决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请求后台时无法接收到入参的问题

    今天小编就为大家分享一篇解决java使用axios.js的post请求后台时无法接收到入参的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09
  • 详解JavaFX桌面应用开发-Group(容器组)

    详解JavaFX桌面应用开发-Group(容器组)

    这篇文章主要介绍了JavaFX桌面应用开发-Group(容器组),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • Java使用BigDecimal解决小数计算问题

    Java使用BigDecimal解决小数计算问题

    Java中的BigDecimal是一个内置类,用于精确表示任意大小的十进制数,它提供了一种处理浮点运算精度问题的方法,特别适合金融、货币交易等需要高精度计算的场景,本文给大家介绍了java中如何使用BigDecimal解决小数计算问题,需要的朋友可以参考下
    2024-08-08
  • 详解Java中布隆过滤器(Bloom Filter)原理及其使用场景

    详解Java中布隆过滤器(Bloom Filter)原理及其使用场景

    布隆过滤器是1970年由布隆提出的,它实际上是一个很长的二进制向量和一系列随机映射函数,它的作用是检索一个元素是否存在我们的集合之中,本文给大家详细的讲解一下布隆过滤器,感兴趣的同学可以参考阅读
    2023-05-05
  • Java Calendar类使用总结及使用实例

    Java Calendar类使用总结及使用实例

    这篇文章主要介绍了Java Calendar类使用总结及使用实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • IntelliJ IDEA 中必有得插件和配置

    IntelliJ IDEA 中必有得插件和配置

    这篇文章主要介绍了IntelliJ IDEA 中必有得插件和配置,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • java生成指定范围的随机日期

    java生成指定范围的随机日期

    这篇文章主要为大家详细介绍了java生成指定范围的随机日期,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • java类与对象案例之打字游戏

    java类与对象案例之打字游戏

    这篇文章主要为大家详细介绍了java类与对象案例之打字游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-07-07
  • java整合微信支付功能详细示例

    java整合微信支付功能详细示例

    这篇文章主要给大家介绍了关于java整合微信支付功能的相关资料,支付是一个复杂且测试起来需要的配置特别复杂的模块,文中给出了详细的示例代码,需要的朋友可以参考下
    2023-07-07
  • java判断远程服务器上的文件是否存在的方法

    java判断远程服务器上的文件是否存在的方法

    java判断远程服务器上的文件是否存在的方法,需要的朋友可以参考一下
    2013-03-03

最新评论