FileManage
FileManage
紫火晗风 发表于1年前
FileManage
  • 发表于 1年前
  • 阅读 9
  • 收藏 0
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

摘要: 摘要: 这篇博客是我在写Zimo这个项目时 用的 对于文件处理的一个类

本人博客地址: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;
    }

}

 

标签: 文件处理
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 8
博文 33
码字总数 22754
×
紫火晗风
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: