解決JavaWeb-file.isDirectory()遇到的坑問題
JavaWeb-file.isDirectory()遇到的坑
概述
通過new File(filePath) 獲取文件對(duì)象file,通過file.isDirectory()判斷傳入的路徑是否是文件夾,但是這種方式只能適配于文件夾已經(jīng)存在的情況
詳解
當(dāng)文件夾已經(jīng)存在時(shí),使用isDirectory方法可以判斷傳入的路徑是否是文件夾
String path = "D:\repo\JavaDemo\FileTransfer\static\service\file1"; File file = new File(str); System.out.println(file.isDirectory()); // true
但是,當(dāng)你傳入的路徑在磁盤目錄中不存在時(shí),就無法判斷,會(huì)一直返回false
String path = "D:\repo\JavaDemo\FileTransfer\static\service\zhangsan"; File file = new File(str); System.out.println(file.isDirectory()); // false
解決方案
可以使用正則表達(dá)式進(jìn)行判斷,但是路徑的結(jié)尾一定要加 \
String path = "D:\repo\JavaDemo\FileTransfer\static\service\zhangsan\\"; if(str.matches("^[A-z]:\\\\(.+?\\\\)*$")){ System.out.println("文件夾!?。?); }
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解Java中的字節(jié)碼增強(qiáng)技術(shù)
字節(jié)碼增強(qiáng)技術(shù)就是一類對(duì)現(xiàn)有字節(jié)碼進(jìn)行修改或者動(dòng)態(tài)生成全新字節(jié)碼文件的技術(shù)。本文將通過示例詳細(xì)說說Java的字節(jié)碼增強(qiáng)技術(shù),需要的可以參考一下2022-10-10SpringBoot + 微信公眾號(hào)JSAPI支付功能的實(shí)現(xiàn)
這篇文章主要介紹了SpringBoot + 微信公眾號(hào)JSAPI支付功能的實(shí)現(xiàn),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03Java遞歸實(shí)現(xiàn)斐波那契數(shù)列
這篇文章主要為大家詳細(xì)介紹了Java遞歸實(shí)現(xiàn)斐波那契數(shù)列,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02Java中的世界時(shí)區(qū)如何自動(dòng)計(jì)算及生成?
在?Java?中,處理時(shí)區(qū)和時(shí)間計(jì)算是一個(gè)非常常見的需求,尤其是在涉及全球應(yīng)用時(shí),Java?提供了一些強(qiáng)大的?API?來處理世界時(shí)區(qū)(如?java.time?包),下面將介紹如何基于?Java?自動(dòng)計(jì)算時(shí)區(qū)并生成相應(yīng)的時(shí)間2025-01-01Java字符串操作技巧之語法、示例與應(yīng)用場(chǎng)景分析
在Java算法題和日常開發(fā)中,字符串處理是必備的核心技能,本文全面梳理Java中字符串的常用操作語法,結(jié)合代碼示例、應(yīng)用場(chǎng)景和避坑指南,可快速掌握字符串處理技巧,輕松應(yīng)對(duì)筆試面試高頻題目,感興趣的朋友一起看看吧2025-04-04