文档章节

FileManage

金丨豆
 金丨豆
发布于 2016/11/08 11:47
字数 605
阅读 20
收藏 0

本人博客地址: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
作品 0
深圳
程序员
路由配置configRoute出问题了

me.add("/", CommonController.class); me.add("/filemanage", FileManage.class); me.add("/fileupload", FileUpload.class); 路由这样配置的,但是输入localhost/filemanage的时候,filem......

Just_me
2014/01/18
330
2
程序运行一段时间后,Tomcat假死

“Tomcat假死”表现在:能够打开系统的登录JSP页面,点击登录后无反应,也没有什么错误打印。 系统基于SSH开发,内部系统,并发量并不大。 在假死后,去关闭tomcat,会打印很多内容。 Jul 17...

qiushui
2015/07/20
3.6K
0
iOS学习之iOS沙盒(sandbox)机制和文件操作之NSFileManager

1、在Documents里创建目录 创建一个叫test的目录,先找到Documents的目录, [cpp]view plaincopy NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomain......

china008
2014/05/03
0
0
IOS沙盒(sandbox)机制和文件操作(三)

我们看看NSFileManager如何使用。包括创建文件,目录,删除,遍历目录等。 1、在Documents里创建目录 创建一个叫test的目录,先找到Documents的目录, [cpp]view plaincopy NSArray *paths =...

jackyyang
2012/07/14
0
3
IOS开发之异步加载网络图片并缓存本地实现瀑布流(一)

版权声明:本文为博主原创文章,未经博主允许不得转载。 [objc] view plaincopy </pre><pre name="code" class="objc"> [objc] view plaincopy </pre><pre name="code" class="objc"> [objc]......

Align
2016/01/05
90
0

没有更多内容

加载失败,请刷新页面

加载更多

Web系统大规模并发:电商秒杀与抢购

一、大规模并发带来的挑战 在过去的工作中,我曾经面对过5w每秒的高并发秒杀功能,在这个过程中,整个Web系统遇到了很多的问题和挑战。如果Web系统不做针对性的优化,会轻而易举地陷入到异常...

xtof
今天
1
0
代码质量管理平台-sonarqube

在工作中,往往开发的时候会不怎么注重代码质量的人很多,存在着很多的漏洞和隐患等问题,sonarqube可以进行代码质量的审核,而且十分的残酷。。。。。接下来我们说下怎么安装 进入官网下载:...

落叶清风
今天
6
0
在Ubuntu安装和配置Sphinx

Ubuntu系统默认是配置有sphinx的,先检查一下,别多此一举。。。。。 在开始本指南之前,您需要: 一个Ubuntu 16.04服务器。 sudo的一个非root用户,您可以通过以下设置本教程 。 安装在服务...

阿锋zxf
今天
1
0
Qt编写输入法V2018超级终结版

对于qt嵌入式linux开发人员来说,输入法一直是个鸡肋问题,要么不支持实体键盘同步,要么不能汉字输入,要么不支持网页输入等,这几年通过陆续接触大量的各种输入法应用场景客户,得到真实需...

飞扬青云
今天
2
0
TypeScript基础入门之高级类型的多态的 this类型

转发 TypeScript基础入门之高级类型的多态的 this类型 高级类型 多态的this类型 多态的this类型表示的是某个包含类或接口的子类型。 这被称做F-bounded多态性。 它能很容易的表现连贯接口间的...

durban
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部