今天使用java的File类实现了一个简单的创建多层级多维度的文件目录结构
结构如下
image
同时使用递归方法实现了文件的遍历查询和全部删除。
(核心思想)判断文件是不是目录,如果是目录就进行递归调用,否则直接进行处理。
下面看一下代码吧!

import java.io.File;import java.io.IOException;/** *  * @author jjking * @version v1.0 *  *          创建时间: 2019年8月28日 下午3:10:27 * */public class ClassWork01 {    static final int NUM = 10;    /**     *     创建文件夹     * @param path 要创建的路径     */    public static void createFilesAndDirs(String path) {        File file = new File(path);        file.mkdir();        for (int i = 0; i < NUM; i++) {            File file0 = new File(path +""+ i);            File file1 = new File(path + "" + i + ".txt");            try {                file1.createNewFile();            } catch (IOException e) {                e.printStackTrace();            }            file0.mkdir();            for (int j = 0; j < NUM; j++) {                File f = new File(path + "" + i + "" + j);                File f1 = new File(path +"" + i + "" + j + ".txt");                f.mkdir();                try {                    f1.createNewFile();                } catch (IOException e) {                    e.printStackTrace();                }            }        }    }        /**     * 递归查看文件和目录     *      * @param path     */    public static void showAllFilesAndDirs(String path) {        File file = new File(path);        File[] files = file.listFiles();        for (File file2 : files) {            if (file2.isDirectory()) {                System.out.println("目录》》》" + file2);                showAllFilesAndDirs(file2.toString());            } else {                System.out.println("文件》》》" + file2);            }        }    }    /**     * 递归删除指定位置内部文件     *      * @param path     */    public static void deleteAllInnerFilesAndDirs(String path) {        File file = new File(path);        File[] listFiles = file.listFiles();        for (File f : listFiles) {            if (f.isFile()) {                f.delete();            } else {                deleteAllFilesAndDirs(f.toString());                f.delete();            }        }        System.out.println("删除完成!");    }    /**     *     删除指定位置的所有文件     *      * @param path     */    public static void deleteAllFilesAndDirs(String path) {        deleteAllInnerFilesAndDirs(path);        File file = new File(path);        file.delete();    }}
收藏 打印