2011-07-17 9 views
0

次のコードは、特定のフォルダ内のファイルとDIRSを削除するコードです。Dirの削除を防止する

  File folder = new File(path); 
      File[] listOfFiles = folder.listFiles(); 
      if (listOfFiles != null) 
      { 
       for (int i = 0; i < listOfFiles.length; i++) 
       { 
        logger.debug("File name=" + listOfFiles[i].toString() + " is Deleted!"); 
        listOfFiles[i].delete(); 
       } 
      } 

おかげで、 レイ:それだけでフォルダ内のファイルではなく、のdirsコード

内部を削除しますので、私は、それを調整することができますどのように 。

答えて

1
 File folder = new File(path); 
     File[] listOfFiles = folder.listFiles(); 
     if (listOfFiles != null) 
     { 
      for (int i = 0; i < listOfFiles.length; i++) 
      {      
       if(!listOfFiles[i].isDirectory()){ // if not a directory... 
        logger.debug("File name=" + listOfFiles[i].toString() + " is Deleted!"); 
        listOfFiles[i].delete(); 
       } 
      } 
     } 

メイクセンスを使用する必要がありますか? :)

1

簡単... ​​

if (!listOfFiles[i].isDirectory()) { 
    listOfFiles[i].delete(); 
} 


FWIW - あなたの現在のコードは、のサブディレクトリを削除します。 javadocによると、空でないディレクトリの削除は失敗します。すなわち返信falseです。

0

あなたがFile.isDirectory

if(!listOfFiles[i].isDirectory()) 
{ 
    logger.debug("File name=" + listOfFiles[i].toString() + " is Deleted!"); 
    listOfFiles[i].delete(); 
} 
関連する問題