2016-02-26 136 views
0

嗨,你能幫助我嗎?我有一個空文件夾。 我宣佈這個文件夾類似這樣的JAVA,我無法刪除空文件夾

File slozka= new File ("M:/ShareDirs_KSP/RDM_Debtors/DMS_PROD/ERMS/IN/42232471/"); 

後,我想刪除此文件夾。但有些錯誤

slozka.delete(); 

文件夾未被刪除。

但是,我可以用這段代碼刪除一些文件夾。 有什麼想法? Thanx

+1

請[不要再使用'File'類](http://java7fs.wikia.com/wiki/Why_File_sucks)。它已經過時並且沒有信息。改爲使用['Files'](http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html)類。它會給你更多關於它失敗原因的信息(閱讀鏈接)。 – RealSkeptic

回答

0

Java將無法看到這個Mapped目錄 - 這是一個基於Windows用戶名的Windows事物。

如果您嘗試使用UNC文件路徑並擁有權限,那麼您應該可以刪除。

0

也許它會幫你:

FileUtils.deleteDirectory(dir); 
0

在Java中,刪除目錄僅適用於空目錄是可能的。 2種可能的原因:

1. 目錄被操作系統鎖定; 2. 目錄不爲空

的情況下2刪除方法:

/** 
* Force deletion of directory 
* @param path 
* @return 
*/ 
static public boolean deleteDirectory(File path) { 
    if (path.exists()) { 
     File[] files = path.listFiles(); 
     for (int i = 0; i < files.length; i++) { 
      if (files[i].isDirectory()) { 
       deleteDirectory(files[i]); 
      } else { 
       files[i].delete(); 
      } 
     } 
    } 
    return (path.delete()); 
} 

這一個會刪除你的文件夾,即使非空,沒有煩惱(除外,當該目錄是由OS鎖定)。