java删除文件夹

简介: 想删除本地一个项目目录,结果windows说路径太长,不能删除。于是试了试java删除。一切ok。以后一定要抓紧时间学python。 /** * Created by rmiao on 4/21/2016.

想删除本地一个项目目录,结果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;
        }
    }

}

 





唯有不断学习方能改变! -- Ryan Miao
目录
相关文章
|
监控 安全 Java
探索Java的未来:JDK 18新特性全览
探索Java的未来:JDK 18新特性全览
401 0
|
前端开发 JavaScript 小程序
前端-全景图-VR
前端-全景图-VR
431 0
|
8月前
|
机器学习/深度学习 测试技术
专家模型不要专家并行!微软开源MoE新路径
微软研究团队提出了一种名为“GRIN(GRadient-INformed MoE training)”的新型训练方法,针对专家混合(MoE)模型优化难题。MoE通过稀疏计算提高效率,但传统梯度优化难以直接应用。GRIN利用梯度信息指导专家路由,引入稀疏梯度估计和并行配置,克服了这一局限,显著提升了MoE模型的训练效率和性能。实验表明,GRIN在语言建模等任务上超越了密集模型,并在多个基准测试中取得领先。尽管存在计算复杂度高等挑战,GRIN为MoE模型训练提供了新思路。论文地址:https://arxiv.org/abs/2409.12136
178 24
|
7月前
|
自然语言处理 算法 搜索推荐
《当NLP邂逅GIS:跨界融合的无限可能》
自然语言处理(NLP)与地理信息系统(GIS)的融合正开启全新应用大门,带来智能地理信息检索、地理知识图谱构建、灾害预警优化及智能导航等创新。通过NLP理解复杂语义并转化为GIS指令,降低了用户门槛,提升了效率。然而,数据异构性、语义理解复杂性、计算资源瓶颈及复合型人才短缺等问题仍待解决。尽管面临挑战,未来NLP与GIS的深度融合将为各行业带来更多变革与发展机遇。
127 12
|
9月前
|
算法 数据可视化 物联网
埃隆·马斯克:第一性原理和五步工作法
马斯克的逆推式五步工作法不仅是一种高效解决问题的思维框架,也为团队提供了一种优化流程的清晰路径。
510 1
埃隆·马斯克:第一性原理和五步工作法
|
11月前
|
存储 固态存储 Go
M.2移动硬盘打造Win To Go系统:高效分区存储文件全攻略
【10月更文挑战第11天】Win To Go 是一种将 Windows 系统安装在 M.2 移动硬盘上的技术,便于用户携带自定义系统跨设备使用。需准备高性能 M.2 硬盘及合适硬盘盒,并使用 DiskGenius 或 Rufus 进行分区与系统安装。系统分区用于安装 Windows,其余分区可根据需求存储工作或娱乐文件,便于管理和备份。
1042 2
|
11月前
|
监控 安全 物联网
|
存储 负载均衡 数据管理
OceanBase分区表优势
【8月更文挑战第13天】OceanBase分区表优势
237 7
|
人工智能 自然语言处理 API
谷歌Gemini使用教程,从认识gemini到精通使用
谷歌 Gemini 是由 Google 开发的一种多模态 AI 语言模型,具备多项强大功能,能够理解和生成自然语言,协助完成各种与语言相关的任务。
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的学生签到系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的学生签到系统的详细设计和实现(源码+lw+部署文档+讲解等)
162 5