delete()
方法可用於刪除檔案或空白目錄/資料夾,如果檔案被刪除,delete()方法傳回true,如果檔案不存在則返回false。
如果刪除目錄,delete()
方法檢查目錄是否為空,如果目錄為空,則刪除目錄,否則delete()方法不會執行任何操作並傳回false,所以在這種情況下,必須遞歸刪除所有文件,然後再刪除目錄。
刪除非空目錄的另一種方法是使用Files.walkFileTree()
方法,在這種方法中,可以逐一處理所有文件,並在單一文件物件上呼叫delete()
方法。
刪除檔案範例:
package com.journaldev.files;import java.io.File;public class DeleteFileJava { /** * 此类显示如何在Java中删除文件 * @param args */ public static void main(String[] args) { // 带路径的文件名 File file = new File("tmp/tmp2/file.txt"); if(file.delete()){ System.out.println("tmp/tmp2/file.txt File deleted"); }else System.out.println("File tmp/tmp2/file.txt doesn't exist"); // 只提供文件名称 file = new File("file.txt"); if(file.delete()){ System.out.println("file.txt File deleted from Project root directory"); }else System.out.println("File file.txt doesn't exist in the project root directory"); //relative path file = new File("temp/file.txt"); if(file.delete()){ System.out.println("temp/file.txt File deleted from Project root directory"); }else System.out.println("File temp/file.txt doesn't exist in the project root directory"); // 删除空的目录 file = new File("temp"); if(file.delete()){ System.out.println("temp directory deleted from Project root directory"); }else System.out.println("temp directory doesn't exist or not empty in the project root directory"); // 试图删除非空目录 file = new File("D:/user/maxsu/project"); if(file.delete()){ System.out.println("D:/user/maxsu/project directory deleted from Project root directory"); }else System.out.println("D:/user/maxsu/project directory doesn't exist or not empty"); }}
注意:與createNewFile()不同,delete方法不會拋出IOException異常。
下面是一個簡單的程序,示範如何刪除非空目錄,如果目錄包含有文件,刪除目錄不會成功。
刪除目錄範例:
import java.io.File;public class JavaDeleteDirectory { public static void main(String[] args) { File dir = new File("D:/worksp/java/log"); if(dir.isDirectory() == false) { System.out.println("Not a directory. Do nothing"); return; } File[] listFiles = dir.listFiles(); for(File file : listFiles){ System.out.println("Deleting "+file.getName()); file.delete(); } //现在目录为空,所以可以删除它 System.out.println("Deleting Directory. Success = "+dir.delete()); }}
遞歸刪除目錄範例:
import java.io.IOException; import java.nio.file.FileVisitResult; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.SimpleFileVisitor; import java.nio.file.attribute.BasicFileAttributes; public class JavaDeleteDirectoryRecursively { public static void main(String[] args) throws IOException { Path directory = Paths.get("D:/worksp/maxsu/log"); Files.walkFileTree(directory, new SimpleFileVisitor<Path>() { @Override public FileVisitResult visitFile(Path file, BasicFileAttributes attributes) throws IOException { Files.delete(file); // 有效,因为它始终是一个文件 return FileVisitResult.CONTINUE; } @Override public FileVisitResult postVisitDirectory(Path dir, IOException exc) throws IOException { Files.delete(dir); //这将起作用,因为目录中的文件已被删除 return FileVisitResult.CONTINUE; } }); }}
推薦教學:java入門教學
以上是java中怎麼刪除檔案和目錄的詳細內容。更多資訊請關注PHP中文網其他相關文章!
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章
刺客信條陰影:貝殼謎語解決方案
1 個月前ByDDD
Windows 11 KB5054979中的新功能以及如何解決更新問題
3 週前ByDDD
在哪裡可以找到原子中的起重機控制鑰匙卡
1 個月前ByDDD
如何修復KB5055523無法在Windows 11中安裝?
2 週前ByDDD
Inzoi:如何申請學校和大學
3 週前ByDDD

熱工具

禪工作室 13.0.1
強大的PHP整合開發環境

Atom編輯器mac版下載
最受歡迎的的開源編輯器

Dreamweaver CS6
視覺化網頁開發工具

WebStorm Mac版
好用的JavaScript開發工具

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中