FileManage

本人博客地址:http://my.oschina.net/lijindou/blog

轉載請標明原址:https://my.oschina.net/lijindou/blog/783661


每個方法我都寫的 有 註釋。

直接上代碼:

import java.io.File;

/**
 * Created by admin on 2016/8/18.
 */
public class FileManage {
    /**
     * @param URI 文件的路徑
     * @return boolean
     * @effect 檢查文件是否存在
     */
    public static boolean fileIsExists(String URI) {
        try {
            File f = new File(URI);
            if (!f.exists()) {
                return false;
            }

        } catch (Exception e) {
            // TODO: handle exception
            return false;
        }
        return true;
    }

    /**
     * @param fileURI 文件的路徑
     * @return boolean
     * @effect 檢查文件是否存在
     */
    public static boolean isFile(String fileURI) {
        File f = new File(fileURI);
        if (f.exists()) {
            return true;
        } else {
            return false;
        }
    }

    /**
     * @param filePath 被刪除文件的文件名
     * @return 文件刪除成功返回true,否則返回false
     * @effect 刪除單個文件
     */
    public static boolean deleteFile(String filePath) {
        File file = new File(filePath);
        if (file.isFile() && file.exists()) {
            return file.delete();
        }
        return false;
    }

    /**
     * @param filePath 被刪除目錄的文件路徑
     * @return 目錄刪除成功返回true,否則返回false
     * @effect 刪除文件夾以及目錄下的文件
     */
    public static boolean deleteDirectory(String filePath) {
        boolean flag = false;
        //如果filePath不以文件分隔符結尾,自動添加文件分隔符
        if (!filePath.endsWith(File.separator)) {
            filePath = filePath + File.separator;
        }
        File dirFile = new File(filePath);
        if (!dirFile.exists() || !dirFile.isDirectory()) {
            return false;
        }
        flag = true;
        File[] files = dirFile.listFiles();
        //遍歷刪除文件夾下的所有文件(包括子目錄)
        for (int i = 0; i < files.length; i++) {
            if (files[i].isFile()) {
                //刪除子文件
                flag = deleteFile(files[i].getAbsolutePath());
                if (!flag) break;
            } else {
                //刪除子目錄
                flag = deleteDirectory(files[i].getAbsolutePath());
                if (!flag) break;
            }
        }
        if (!flag) return false;
        //刪除當前空目錄
        return dirFile.delete();
    }

    /**
     * @param filePath 要刪除的目錄或文件
     * @return 刪除成功返回 true,否則返回 false。
     * @effect 根據路徑刪除指定的目錄或文件,無論存在與否
     */
    public static boolean DeleteFolder(String filePath) {
        File file = new File(filePath);
        if (!file.exists()) {
            return false;
        } else {
            if (file.isFile()) {
                // 爲文件時調用刪除文件方法
                return deleteFile(filePath);
            } else {
                // 爲目錄時調用刪除目錄方法
                return deleteDirectory(filePath);
            }
        }
    }

    /**
     * @param string 文件夾路徑
     * @return int 返回的   該  路徑下的 圖片的數量
     * @effect 輸入路徑 返回 的是該路徑下的圖片文件的數量
     */
    private int getFiles(String string) {
        int i = 0;
        // TODO Auto-generated method stub
        File file = new File(string);
        File[] files = file.listFiles();
        for (int j = 0; j < files.length; j++) {
            String name = files[j].getName();
            if (files[j].isDirectory()) {
                String dirPath = files[j].toString().toLowerCase();
                System.out.println(dirPath);
                getFiles(dirPath + "/");
            } else if (files[j].isFile() & name.endsWith(".jpg") ||//這裏 寫的是圖片的格式,將這個格式 換掉後,也可以檢查其他的格式
                    name.endsWith(".png") || name.endsWith(".bmp") ||
                    name.endsWith(".gif") || name.endsWith(".jpeg")) {
                System.out.println("FileName===" + files[j].getName());
                i++;
            }
        }
        return i;
    }

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章