欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java判斷文件或者文件夾是否存在的功能(不存在創(chuàng)建,存在刪除)

 更新時(shí)間:2025年03月26日 17:16:47   作者:康林森  
在Java中,要判斷文件或文件夾是否存在,并根據(jù)判斷結(jié)果來執(zhí)行創(chuàng)建或刪除操作,你可以使用java.io.File類或者java.nio.file包中的類,本文介紹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格式化查詢出的日期

    使用mybatis格式化查詢出的日期

    這篇文章主要介紹了使用mybatis格式化查詢出的日期,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • mybatis-plus?查詢傳入?yún)?shù)Map,返回List<Map>方式

    mybatis-plus?查詢傳入?yún)?shù)Map,返回List<Map>方式

    這篇文章主要介紹了mybatis-plus?查詢傳入?yún)?shù)Map,返回List<Map>方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Spring注解之@Conditional使用解析

    Spring注解之@Conditional使用解析

    這篇文章主要介紹了Spring注解之@Conditional使用解析,@Conditional注解可以說是SpringBoot的條件注解,表示組件只有在所有指定條件都匹配時(shí)才有資格注冊(cè),條件是可以在 bean 定義注冊(cè)之前??以編程方式確定的任何狀態(tài),需要的朋友可以參考下
    2024-01-01
  • 關(guān)于@Autowierd && @Resource 你真的了解嗎

    關(guān)于@Autowierd && @Resource 你真的了解嗎

    這篇文章主要介紹了關(guān)于@Autowierd && @Resource的具體使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • logback如何去掉DubboMonitor煩人的INFO日志

    logback如何去掉DubboMonitor煩人的INFO日志

    這篇文章主要介紹了logback如何去掉DubboMonitor煩人的INFO日志方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Java中使用json與前臺(tái)Ajax數(shù)據(jù)交互的方法

    Java中使用json與前臺(tái)Ajax數(shù)據(jù)交互的方法

    這篇文章主要為大家詳細(xì)介紹了Java中使用json與前臺(tái)Ajax數(shù)據(jù)交互的方法,分享Ajax獲取顯示Json數(shù)據(jù)的一種方法,感興趣的小伙伴們可以參考一下
    2016-06-06
  • Java如何自定義線程池中隊(duì)列

    Java如何自定義線程池中隊(duì)列

    這篇文章主要介紹了Java如何自定義線程池中隊(duì)列,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-07-07
  • vue+springboot上傳文件、圖片、視頻及回顯到前端詳解

    vue+springboot上傳文件、圖片、視頻及回顯到前端詳解

    一般來說vue可以使用axios或者fetch等ajax庫(kù)發(fā)送文件請(qǐng)求,而springboot則可以使用Spring MVC的方式來處理上傳文件請(qǐng)求,下面這篇文章主要給大家介紹了關(guān)于vue+springboot上傳文件、圖片、視頻及回顯到前端的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • Java阻塞隊(duì)列BlockingQueue詳解

    Java阻塞隊(duì)列BlockingQueue詳解

    這篇文章主要介紹了Java阻塞隊(duì)列BlockingQueue,文章通過隊(duì)列的類型展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下
    2022-07-07
  • java后臺(tái)如何利用Pattern提取所需字符詳解

    java后臺(tái)如何利用Pattern提取所需字符詳解

    這篇文章主要給大家介紹了關(guān)于java后臺(tái)如何利用Pattern提取所需字符的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-01-01

最新評(píng)論