【小程序】使用java递归实现文件的格式化输出和删除

/*

* 递归:

* 定义:函数自己调用自己

* 前提:函数总必须存在结束递归的条件,否则递归会称为死循环。

*

*

*/

package com.michael.lin;

import java.io.File;

public class Demo07 {

public static void main(String[] args){

listFiles(new File("G:\\2015java基础班33期"));

listFiles2(new File("G:\\2015java基础班33期"), "|");

}

//1.使用递归调用文件的中的所有文件(包括子孙文件)

public static void listFiles(File dir){

//1.列出当前目录所有的文件夹

File[] files = dir.listFiles();

//2遍历所有的文件(夹)

for(File file : files){

if(file.isFile()){

System.out.println("---" + file.getName());

}else if(file.isDirectory()){

System.out.println("-" + file.getName()+":");

listFiles(file);

}

}

}

//2.使用递归函数列出文件中的所有子孙目录,不同级别的目录使用定义格式分级

public static void listFiles2(File dir, String space){

//1.获得氮气目录的所有文件对象

File[] files = dir.listFiles();

//2.遍历所有的饿文件对象

for(File file : files){

if(file.isFile()){

System.out.println(space+file.getName());

}else if(file.isDirectory()){

System.out.println(space+file.getName());

listFiles2(file, "|--"+space);

}

}

}

//3.使用递归删除非空的文件夹

public static void deleteDeir(File dir){

File[] files = dir.listFiles();

for(File file : files){

if(file.isFile()){

file.delete();

}else if(file.isDirectory()){

deleteDeir(file);

}

}

dir.delete();

}

}

你可能感兴趣的:(【小程序】使用java递归实现文件的格式化输出和删除)