Java判斷文件或者文件夾是否存在的功能(不存在創(chuàng)建,存在刪除)
Java判斷文件或者文件夾是否存在,不存在創(chuàng)建,存在刪除
在Java中,要判斷文件或文件夾是否存在,并根據(jù)判斷結果來執(zhí)行創(chuàng)建或刪除操作,你可以使用java.io.File類或者java.nio.file包中的類。以下是分別使用這兩個類實現(xiàn)這個功能的示例代碼。
使用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)建文件夾(注意:這里不會創(chuàng)建文件,只會創(chuàng)建文件夾)
// 如果你想創(chuàng)建文件,請使用fileOrDirectory.createNewFile()代替mkdir()
if (fileOrDirectory.mkdir()) { // 或者使用mkdirs()創(chuàng)建多級目錄
System.out.println("文件夾已創(chuàng)建。");
} else {
System.out.println("文件夾創(chuàng)建失敗。");
}
}
}
}注意:上面的代碼有一個問題,即它假設你想要創(chuàng)建的是一個文件夾而不是一個文件。如果你想要創(chuàng)建一個文件,你應該使用createNewFile()方法。但是,由于題目要求判斷“文件或者文件夾”,這里我們使用了mkdir()來創(chuàng)建文件夾作為示例。如果你需要創(chuà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() 如果路徑是目錄且不為空,則會拋出 DirectoryNotEmptyException
// 如果你想要刪除非空目錄,你需要使用 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)建(這里假設你想要創(chuàng)建的是文件夾)
// 如果你想要創(chuàng)建文件,請使用 Files.createFile(path)
try {
// 創(chuàng)建單級目錄,如果父目錄不存在則會拋出 NoSuchFileException
// 如果你想要創(chuàng)建多級目錄,請使用 Files.createDirectories(path)
Files.createDirectory(path);
System.out.println("文件夾已創(chuàng)建。");
} catch (IOException e) {
System.out.println("文件夾創(chuàng)建失?。? + e.getMessage());
}
}
}
}注意:
Files.delete() 方法如果試圖刪除一個非空目錄,會拋出 DirectoryNotEmptyException。如果你想要刪除一個非空目錄,你需要先遍歷并刪除目錄中的所有文件和子目錄。
Files.createDirectory() 方法只會創(chuàng)建單級目錄。如果父目錄不存在,它會拋出 NoSuchFileException。如果你想要創(chuàng)建多級目錄,請使用 Files.createDirectories() 方法。
在上面的代碼中,我假設你想要創(chuàng)建的是文件夾而不是文件。如果你想要創(chuàng)建文件,請使用 Files.createFile(path) 方法代替 Files.createDirectory(path)。
請根據(jù)你的具體需求修改上述代碼。如果你需要同時處理文件和文件夾的創(chuàng)建和刪除,你可能需要在代碼中添加額外的邏輯來區(qū)分這兩種情況。
到此這篇關于Java判斷文件或者文件夾是否存在,不存在創(chuàng)建,存在刪除的文章就介紹到這了,更多相關Java判斷文件或者文件夾是否存在內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
String StringBuilder StringBuffer區(qū)別以及源碼分析
string是C++標準庫的一個重要的部分,主要用于字符串處理??梢允褂幂斎胼敵隽鞣绞街苯舆M行string操作,同時,C++的算法庫對string類也有著很好的支持,并且string類還和c語言的字符串之間有著良好的接口2021-06-06
關于elasticsearch的match_phrase_prefix查詢詳解
這篇文章主要介紹了關于elasticsearch的match_phrase_prefix查詢問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03
Spring實戰(zhàn)之@Autowire注解用法詳解
這篇文章主要介紹了Spring實戰(zhàn)之@Autowire注解用法,結合實例形式詳細分析了Spring @Autowire注解具體實現(xiàn)步驟與相關使用技巧,需要的朋友可以參考下2019-12-12

