专栏首页Ryan Miaojava删除文件夹

java删除文件夹

想删除本地一个项目目录,结果windows说路径太长,不能删除。于是试了试java删除。一切ok。以后一定要抓紧时间学python。

/**
 * Created by rmiao on 4/21/2016.
 */
public class TestDel {

    public static void main(String[] args) throws IOException {
            String dest = "D:\\perforce\\workspace2\\EPC";
            File file = new File(dest);

            forceDelete(file);


    }

    private static void forceDelete(File file) throws IOException {
        if (file.isDirectory()){
            deleteDirectory(file);
        }else{
            boolean filePresent = file.exists();
            if(!file.delete()){
                if(!filePresent){
                    throw  new FileNotFoundException("File does note exist:"+file);
                }

                String message = "Unable to delete file:"+file;
                throw new IOException(message);

            }else{
                System.out.println("-"+file.getAbsolutePath());
            }

        }
    }
    public static void deleteDirectory(File directory) throws IOException{
        if (directory.exists()){
            cleanDirectory(directory);
        }
        if(!directory.delete()){
            String message = "Unable to delete directory "+directory+".";
            throw  new IOException(message);
        }
    }

    /**
     * Cleans a directory without deleting it.
     *
     * @param directory directory to clean
     * @throws IOException in case cleaning is unsuccessful
     */
    public static void cleanDirectory(File directory) throws IOException {
        if (!directory.exists()) {
            String message = directory + " does not exist";
            throw new IllegalArgumentException(message);
        }

        if (!directory.isDirectory()) {
            String message = directory + " is not a directory";
            throw new IllegalArgumentException(message);
        }

        File[] files = directory.listFiles();
        if (files == null) {  // null if security restricted
            throw new IOException("Failed to list contents of " + directory);
        }

        IOException exception = null;
        for (File file : files) {
            try {
                forceDelete(file);
            } catch (IOException ioe) {
                exception = ioe;
            }
        }

        if (null != exception) {
            throw exception;
        }
    }

}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Ubuntu18.04安装postgresql-10

    官方文档: https://www.postgresql.org/download/linux/ubuntu/

    Ryan-Miao
  • 基于php5.5使用PHPMailer-5.2发送邮件

    PHPMailer - A full-featured email creation and transfer class for PHP。

    Ryan-Miao
  • AWS CLI使用s3

    aws CLI是什么东西,暂且先不去了解,目前的需求是s3. 我在Jenkins上创建一个bucket,然后申请access_key,然后就可以使用s3来存储数...

    Ryan-Miao
  • JavaScript简介及JavaScript中的关键保留字、变量和数据类型

    JavaScript 诞生于 1995 年。它当时的目的是为了进行表单输入的验证。因为在 JavaScript 问世之前,表单的验证都是通过服务器端验证的。而当...

    魏晓蕾
  • TKE操作指南 - 容器业务部署标准化总结(十六)

    /data/logs/$module_name($module_name指应用名,一般为java应用)

    亮哥说TKE
  • 推荐几个我常用的Chrome插件 —— 让你使用Github效率翻倍

    Chrome 可以说是全世界最受欢迎的浏览器了,其快速、稳定的性能,简洁的设计以及多平台同步的功能都深受用户的推崇,然而很多人成为他的忠粉还是因为它强大的拓展性...

    ConardLi
  • 推荐几个我常用的Chrome插件 —— 让你使用Github效率翻倍

    Chrome 可以说是全世界最受欢迎的浏览器了,其快速、稳定的性能,简洁的设计以及多平台同步的功能都深受用户的推崇,然而很多人成为他的忠粉还是因为它强大的拓展性...

    lucifer210
  • PyCharm在创建py文件时自动添加默认头部注释

    File ----->> Setting ----->> Editor ----->> File and Code Templates ----->> Pyth...

    马哥Python
  • apache ab压力测试报错(apr_socket_recv: Connection reset by peer (104))

    [root@aa~]# This is ApacheBench, Version 2.3 <$Revision: 655654 $>

    拓荒者
  • 解决开启代理无法访问微软商店的问题

    以前对于 Windows store 使用的不多,没发现这个问题,最近使用商店后发现无法进行网络连接.原因是开启了代理.将代理关闭之后久可以正常的使用了.但是每...

    caoayu

扫码关注云+社区

领取腾讯云代金券