• java删除文件夹及子目录


    package test;
    
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.io.File;
    
    public class DelFile {
    
        /**
         * 删除某个文件夹下的所有文件夹和文件
         * 
         * @param delpath
         *            String
         * @throws FileNotFoundException
         * @throws IOException
         * @return boolean
         */
        public static boolean deletefile(String delpath) throws Exception {
            try {
    
                File file = new File(delpath);
                // 当且仅当此抽象路径名表示的文件存在且 是一个目录时,返回 true
                if (!file.isDirectory()) {
                    file.delete();
                } else if (file.isDirectory()) {
                    String[] filelist = file.list();
                    for (int i = 0; i < filelist.length; i++) {
                        File delfile = new File(delpath + "\" + filelist[i]);
                        if (!delfile.isDirectory()) {
                            delfile.delete();
                            System.out.println(delfile.getAbsolutePath() + "删除文件成功");
                        } else if (delfile.isDirectory()) {
                            deletefile(delpath + "\" + filelist[i]);
                        }
                    }
                    System.out.println(file.getAbsolutePath() + "删除成功");
                    file.delete();
                }
    
            } catch (FileNotFoundException e) {
                System.out.println("deletefile() Exception:" + e.getMessage());
            }
            return true;
        }
    
        /**
         * 输出某个文件夹下的所有文件夹和文件路径
         * 
         * @param delpath
         *            String
         * @throws FileNotFoundException
         * @throws IOException
         * @return boolean
         */
        public static boolean readfile(String filepath)
                throws FileNotFoundException, IOException {
            try {
    
                File file = new File(filepath);
                System.out.println("遍历的路径为:" + file.getAbsolutePath());
                // 当且仅当此抽象路径名表示的文件存在且 是一个目录时(即文件夹下有子文件时),返回 true
                if (!file.isDirectory()) {
                    System.out.println("该文件的绝对路径:" + file.getAbsolutePath());
                    System.out.println("名称:" + file.getName());
                } else if (file.isDirectory()) {
                    // 得到目录中的文件和目录
                    String[] filelist = file.list();
                    if (filelist.length == 0) {
                        System.out.println(file.getAbsolutePath()
                                + "文件夹下,没有子文件夹或文件");
                    } else {
                        System.out
                                .println(file.getAbsolutePath() + "文件夹下,有子文件夹或文件");
                    }
                    for (int i = 0; i < filelist.length; i++) {
                        File readfile = new File(filepath + "\" + filelist[i]);
                        System.out.println("遍历的路径为:" + readfile.getAbsolutePath());
                        if (!readfile.isDirectory()) {
                            System.out.println("该文件的路径:"
                                    + readfile.getAbsolutePath());
                            System.out.println("名称:" + readfile.getName());
                        } else if (readfile.isDirectory()) {
                            System.out.println("-----------递归循环-----------");
                            readfile(filepath + "\" + filelist[i]);
                        }
                    }
    
                }
    
            } catch (FileNotFoundException e) {
                System.out.println("readfile() Exception:" + e.getMessage());
            }
            return true;
        }
    
        public static void main(String[] args) {
            try {
                // readfile("D:/file");
                deletefile("E:/a");
            } catch (Exception ex) {
                ex.printStackTrace();
            }
            System.out.println("ok");
        }
    
    }
  • 相关阅读:
    C# 文件操作
    Wpf ListView展示风格
    PowerShell->>获取本地计算机的用户组和组成员
    MySQL->>innodb_autoinc_lock_mode参数控制auto_increment 插入数据时相关锁的模式
    SQL Server ->> 使用CROSS APPLY语句是遇到聚合函数中包含外部引用列时报错
    【转】Kettle发送邮件步骤遇到附件名是中文名变成乱码的问题解决办法
    SSIS ->> Excel Destination无法接受大于255个字符长度的字符字段
    SQL Server ->> 存储过程sp_describe_first_result_set解析T-SQL语句的结果集结构信息
    Windows ->> 解决Windows 10下面无法多用户同时远程桌面
    SQL Server ->> 查询添加XLOCK表提示不阻塞其他线程
  • 原文地址:https://www.cnblogs.com/zfy0098/p/5522761.html
Copyright © 2020-2023  润新知