1. 程式人生 > >根據檔案或者資料夾名批量刪除檔案或資料夾

根據檔案或者資料夾名批量刪除檔案或資料夾

主要用來刪除:同樣的檔案或者資料夾在多個資料夾裡存在時 例如 .svn、eclipse資訊等

package test;


import java.io.File;


public class DelFile {

    /**
     * 刪除資料夾中所有的.settings資料夾
     */
    public static void main(String[] args) throws Exception{
        String parentPath = "E:\\支付\\pay-common";
        File file =new File(parentPath);
        deleteFile(file,".project");//這裡可以是檔名也可以是資料夾名

    }
    
    private static void deleteFile(File file,String deleteFileName){
        
        if(file.isDirectory()){
            
            if(deleteFileName.equals(file.getName())){
                deleteSvnFile(file);
            }else{
                File[] fileArray =file.listFiles();
                for(File fileItem: fileArray){
                    deleteFile(fileItem,deleteFileName);
                }
            }
        }else{
        	 if(deleteFileName.equals(file.getName())){
        		 file.delete();
        		 System.out.println("刪除-->"+file.getAbsolutePath());
             }
        }
    }
    
    /**
     * 
     * @Title: 			deleteSvnFile 
     * @Description: 	TODO
     * @param 			@param file    
     * @return 			void
     * @throws
     */
    private static void deleteSvnFile(File file){
        File[] fileArray =file.listFiles();
        for(File fileItem: fileArray){
            if(fileItem.isFile()){
                System.out.println("刪除-->"+fileItem.getAbsolutePath());
                fileItem.delete();
            }else{
                deleteSvnFile(fileItem);
            }
        }
        System.out.println("刪除-->"+file.getAbsolutePath());
        file.delete();
    }
    
    

}