Java判斷文件或者文件夾是否存在的功能(不存在創(chuàng)建,存在刪除)
Java判斷文件或者文件夾是否存在,不存在創(chuàng)建,存在刪除
在Java中,要判斷文件或文件夾是否存在,并根據(jù)判斷結(jié)果來執(zhí)行創(chuàng)建或刪除操作,你可以使用java.io.File類或者java.nio.file包中的類。以下是分別使用這兩個(gè)類實(shí)現(xiàn)這個(gè)功能的示例代碼。
使用java.io.File類
import java.io.File; import java.io.IOException; public class FileOrDirectoryOperations { public static void main(String[] args) { String path = "path/to/your/file_or_directory"; File fileOrDirectory = new File(path); if (fileOrDirectory.exists()) { // 如果存在,則刪除(無論是文件還是文件夾) if (fileOrDirectory.delete()) { System.out.println("文件或文件夾已刪除。"); } else { System.out.println("文件或文件夾刪除失敗。"); } } else { // 如果不存在,則創(chuàng)建文件夾(注意:這里不會(huì)創(chuàng)建文件,只會(huì)創(chuàng)建文件夾) // 如果你想創(chuàng)建文件,請(qǐng)使用fileOrDirectory.createNewFile()代替mkdir() if (fileOrDirectory.mkdir()) { // 或者使用mkdirs()創(chuàng)建多級(jí)目錄 System.out.println("文件夾已創(chuàng)建。"); } else { System.out.println("文件夾創(chuàng)建失敗。"); } } } }
注意:上面的代碼有一個(gè)問題,即它假設(shè)你想要?jiǎng)?chuàng)建的是一個(gè)文件夾而不是一個(gè)文件。如果你想要?jiǎng)?chuàng)建一個(gè)文件,你應(yīng)該使用createNewFile()方法。但是,由于題目要求判斷“文件或者文件夾”,這里我們使用了mkdir()來創(chuàng)建文件夾作為示例。如果你需要?jiǎng)?chuàng)建文件,請(qǐng)相應(yīng)地修改代碼。
使用java.nio.file包
import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.io.IOException; public class FileOrDirectoryOperationsNIO { public static void main(String[] args) { String pathString = "path/to/your/file_or_directory"; Path path = Paths.get(pathString); if (Files.exists(path)) { // 如果存在,則刪除(無論是文件還是文件夾) try { // 注意:Files.delete() 如果路徑是目錄且不為空,則會(huì)拋出 DirectoryNotEmptyException // 如果你想要?jiǎng)h除非空目錄,你需要使用 Files.walk() 來遍歷并刪除目錄中的所有內(nèi)容 Files.delete(path); System.out.println("文件或文件夾已刪除。"); } catch (IOException e) { // 捕獲并處理異常,例如 DirectoryNotEmptyException System.out.println("文件或文件夾刪除失?。? + e.getMessage()); if (e instanceof java.nio.file.DirectoryNotEmptyException) { System.out.println("目錄不為空,無法刪除。"); // 可以選擇遞歸刪除目錄內(nèi)容 } } } else { // 如果不存在,則嘗試創(chuàng)建(這里假設(shè)你想要?jiǎng)?chuàng)建的是文件夾) // 如果你想要?jiǎng)?chuàng)建文件,請(qǐng)使用 Files.createFile(path) try { // 創(chuàng)建單級(jí)目錄,如果父目錄不存在則會(huì)拋出 NoSuchFileException // 如果你想要?jiǎng)?chuàng)建多級(jí)目錄,請(qǐng)使用 Files.createDirectories(path) Files.createDirectory(path); System.out.println("文件夾已創(chuàng)建。"); } catch (IOException e) { System.out.println("文件夾創(chuàng)建失?。? + e.getMessage()); } } } }
注意:
Files.delete() 方法如果試圖刪除一個(gè)非空目錄,會(huì)拋出 DirectoryNotEmptyException。如果你想要?jiǎng)h除一個(gè)非空目錄,你需要先遍歷并刪除目錄中的所有文件和子目錄。
Files.createDirectory() 方法只會(huì)創(chuàng)建單級(jí)目錄。如果父目錄不存在,它會(huì)拋出 NoSuchFileException。如果你想要?jiǎng)?chuàng)建多級(jí)目錄,請(qǐng)使用 Files.createDirectories() 方法。
在上面的代碼中,我假設(shè)你想要?jiǎng)?chuàng)建的是文件夾而不是文件。如果你想要?jiǎng)?chuàng)建文件,請(qǐng)使用 Files.createFile(path) 方法代替 Files.createDirectory(path)。
請(qǐng)根據(jù)你的具體需求修改上述代碼。如果你需要同時(shí)處理文件和文件夾的創(chuàng)建和刪除,你可能需要在代碼中添加額外的邏輯來區(qū)分這兩種情況。
到此這篇關(guān)于Java判斷文件或者文件夾是否存在,不存在創(chuàng)建,存在刪除的文章就介紹到這了,更多相關(guān)Java判斷文件或者文件夾是否存在內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mybatis-plus?查詢傳入?yún)?shù)Map,返回List<Map>方式
這篇文章主要介紹了mybatis-plus?查詢傳入?yún)?shù)Map,返回List<Map>方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12關(guān)于@Autowierd && @Resource 你真的了解嗎
這篇文章主要介紹了關(guān)于@Autowierd && @Resource的具體使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08logback如何去掉DubboMonitor煩人的INFO日志
這篇文章主要介紹了logback如何去掉DubboMonitor煩人的INFO日志方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07Java中使用json與前臺(tái)Ajax數(shù)據(jù)交互的方法
這篇文章主要為大家詳細(xì)介紹了Java中使用json與前臺(tái)Ajax數(shù)據(jù)交互的方法,分享Ajax獲取顯示Json數(shù)據(jù)的一種方法,感興趣的小伙伴們可以參考一下2016-06-06vue+springboot上傳文件、圖片、視頻及回顯到前端詳解
一般來說vue可以使用axios或者fetch等ajax庫(kù)發(fā)送文件請(qǐng)求,而springboot則可以使用Spring MVC的方式來處理上傳文件請(qǐng)求,下面這篇文章主要給大家介紹了關(guān)于vue+springboot上傳文件、圖片、視頻及回顯到前端的相關(guān)資料,需要的朋友可以參考下2023-04-04java后臺(tái)如何利用Pattern提取所需字符詳解
這篇文章主要給大家介紹了關(guān)于java后臺(tái)如何利用Pattern提取所需字符的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-01-01