一般我們在項目中保存文件時,是把目錄的信息存放在一個表中,把文件信息存放在另一個表中。
當我們需要刪除指定目錄時,首先需要刪除的是數據庫中的目錄和子目錄的所有信息,然後刪除文件信息,最後是是刪除創建的文件目錄,如果有子目錄,則需要使用遞歸刪除,即:
業務邏輯層中刪除指定目錄中的子目錄和文件的流程//刪除數據庫中的目錄信息 catalogueDAO.deletecat(dir); //刪除數據庫中的文件信息 fileDAO.deleteFile(dir); //使用遞歸刪除函數deleteDir遞歸刪除指定的目錄 deleteDir(path + dir.getName());
deleteDir函數的實現,遞歸刪除指定的目錄下的文件:
public static void deleteDir(String path) { File file = new File(path); if (file.exists()) { if (file.isDirectory()) { File[] files = file.listFiles(); for (File subFile : files) { if (subFile.isDirectory()) deleteDir(subFile.getPath()); else subFile.delete(); } } file.delete(); } }