文档章节

java 对于文件的各种处理 FileManage

金丨豆
 金丨豆
发布于 2016/11/08 11:47
字数 630
阅读 22
收藏 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;
    }

}

 

© 著作权归作者所有

共有 人打赏支持
下一篇: PhotoManage
金丨豆
粉丝 8
博文 41
码字总数 26382
作品 0
深圳
程序员
私信 提问
程序运行一段时间后,Tomcat假死

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

qiushui
2015/07/20
3.6K
0
PHP-Java-Bridge使用笔记,2014年9月最新版

/============================================================ @author ken(695093513@qq.com) @date 2014-09-09 * ==============================================================/ /=......

卖小女孩的小火柴
2014/09/19
0
10
java程序员为什么使用Groovy

一直听说java世界里有个Groovy,但是一直没时间去了解它究竟是一个怎么样子的。我们现在的项目里放了很多开源包,而且项目中做流程的时候,规则就是用Groovy实现的。近来闲来无事,于是开始认...

supperman
2012/11/16
0
24
【XML系列】详解JDOM解析XML

【XML系列】详解JDOM解析XML 一、前言 JDOM是Breet Mclaughlin和Jason Hunter两大Java高手的创作成果,2000年初,JDOM作为一个开放源代码项目正式开始研发。JDOM是一种解析XML的Java工具包。...

磊神Ray
2011/11/01
0
0
Java 10大优点—Part4—Java内存模型

在忙着参加在爱沙尼亚进行的 TEDx talk 演讲活动以及在比利时举办的一届非常忙碌的Devoxx 会议的间隙,我将继续推进 Java’s Rocking 的系列博文。 对还没有接触过这个系列博文的读者,不妨先...

foxlee
2013/12/09
339
1

没有更多内容

加载失败,请刷新页面

加载更多

读取zookeeper上的dubbo注册信息

dubbo有自己的服务监听服务器,incubator-dubbo-ops-develop,github可以下载到,网上也有很多本地部署的例子,就想了下能不能自己监听dubbo的服务,于是写了如下代码。特别注意的是zookeep...

noob_chr
15分钟前
0
0
Java提高班(六)反射和动态代理(JDK Proxy和Cglib)

反射和动态代理放有一定的相关性,但单纯的说动态代理是由反射机制实现的,其实是不够全面不准确的,动态代理是一种功能行为,而它的实现方法有很多。要怎么理解以上这句话,请看下文。 一、...

王磊的博客
35分钟前
1
0
Ext grid 渲染

// 单元格字体颜色渲染function renderer_Meta_useStatus(value, cellmeta, record,rowIndex, columnIndex, store){ var color = ""; if("空闲"==value){ color = "green";......

MoksMo
45分钟前
4
0
log4j2在spring中的配置

<?xml version="1.0" encoding="UTF-8"?><!--日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL --><!--Configuration后面的status,这个用于设置l......

TonyTaotao
50分钟前
3
0
java 中间变量缓存机制(i++,++i)

public class Test { public static void main(String[] args) { int i = 0; i = i ++ ; System.out.println(i); } } 答案是 0 如果是 i = ++......

shzwork
57分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部