您的位置:首页 > 移动开发 > Android开发

java android 删除文件和文件夹的函数

2013-02-27 16:20 309 查看
    /**

     * 删除单个文件

     * @param   filePath    被删除文件的文件名

     * @return 文件删除成功返回true,否则返回false

     */

    public boolean deleteFile(String filePath) {

    File file = new File(filePath);

        if (file.isFile() && file.exists()) {

        return file.delete();

        }

        return false;

    }

    /**

     * 删除文件夹以及目录下的文件

     * @param   filePath 被删除目录的文件路径

     * @return  目录删除成功返回true,否则返回false

     */

    public 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。

     */

    public 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);

            }

        }

    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Android java