解決JavaWeb-file.isDirectory()遇到的坑問題
更新時間:2025年02月14日 09:49:00 作者:Monly21
JavaWeb開發(fā)中,使用`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("文件夾?。。?); }
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
SpringBoot + 微信公眾號JSAPI支付功能的實現
這篇文章主要介紹了SpringBoot + 微信公眾號JSAPI支付功能的實現,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03