java删除文件夹下相同后缀文件和删除文件夹

来源:互联网 发布:程序员笔记本推荐2017 编辑:程序博客网 时间:2024/04/29 06:59
package deletefiles;

import java.io.File;

/**
 * delete files class
 * 
@author zs
 
*/
public class DeleteClass {

    
// Examples : the path of delete file
    public static final String delpath = "F:/xxx.class";

    
// Examples : the end name of delete file
    public static final String delEndName = "class";

    
/**
     * function
     * 
@param delpath
     *            path of file
     * 
@param delEndName
     *            end name of file
     
*/
    
public DeleteClass(String delpath, String delEndName) {
        deleteEndFile(delpath, delEndName);
    }

    
/**
     * delete the end name file
     * 
@param delpath
     *            path of file
     * 
@param delEndName
     *            end name of file
     * 
@return boolean the result
     
*/
    
public boolean deleteEndFile(String delPath, String delEndName) {

        
// param is null
        if (delPath == null || delEndName == null) {
            System.out.println(
"path or name error");
            
return false;
        }
        
try {
            
// create file
            File file = new File(delPath);
            
if (file != null) {
                
if (file.isDirectory()) {
                    
// file list
                    String[] fileList = file.list();
                    File delFile 
= null;

                    
// digui
                    for (int i = 0; i < fileList.length; i++) {
                        
// create new file
                        delFile = new File(delPath + "/" + fileList[i]);
                        
if (delFile != null) {
                            deleteEndFile(delFile.toString(), delEndName);
                        } 
else {
                            System.out.println(
"file path is null");
                        }
                    }
                } 
else if (file.isFile()) {

                    
// check the end name
                    if (file.toString().contains(".")
                            
&& file.toString().substring(
                                    (file.toString().lastIndexOf(
"."+ 1))
                                    .equals(delEndName)) {
                        
// file delete
                        file.delete();
                    }
                } 
else {
                    System.out.println(
"file is error");
                }
            } 
else {
                System.out.println(
"file path is null");
            }
        } 
catch (Exception ex) {
            ex.printStackTrace();
            
return false;
        }
        
return true;
    }

    
/**
     * delete all files
     * 
@param delpath
     *            delpath path of file
     * 
@return boolean the result
     
*/
    
public boolean deleteFile(String delpath) {

        
try {
            
// create file
            File file = new File(delpath);

            
if (!file.isDirectory()) {
                file.delete();
            } 
else if (file.isDirectory()) {

                String[] filelist 
= file.list();
                
for (int i = 0; i < filelist.length; i++) {

                    
//create new file
                    File delfile = new File(delpath + "/" + filelist[i]);
                    
if (!delfile.isDirectory()) {
                        delfile.delete();
                    } 
else if (delfile.isDirectory()) {
                        
                        
//digui
                        deleteFile(delpath + "/" + filelist[i]);
                    }
                }
                file.delete();
            }
        } 
catch (Exception ex) {
            ex.printStackTrace();
            
return false;
        }
        
return true;
    }
}
 摘要:自己在编译java工程以后总生成一堆class文件,以后拷贝的时候比较麻烦,写了个方法删除它们,顺便找了个删除所有文件的方法。