给定一个路径(D://school),请通过递归完成遍历该目录下的所有内容,并把所有文件的绝对路径输出在控制台
package IO;
import java.io.File;
public class Traverfile {
public static void main(String[] args) {
File f=new File("D://school"); //给定路径
//若要查找输入路径,可以增加scanner对象实现
allfile(f);//遍历方法
}
public static void allfile(File f) {
File[] fileArrays=f.listFiles();//创建Filie数组存储目录内容
if(fileArrays!=null) {//如果目录数组非空
for(File i:fileArrays) {//使用增强for循环遍历
if(i.isDirectory())//如果是目录
allfile(i);//则递归调用
else//不是目录(即文件)
System.out.println(i.getAbsolutePath());//则打印绝对路径
}
}
}
}
/*输出结果:
D:\school\(中)学生-课程-选课_Data.MDF
D:\school\(中)学生-课程-选课_Log.LDF
D:\school\100列.sql
D:\school\97列.sql
D:\school\SCHOOL\SCHOOLDATABASE.mdf
D:\school\SCHOOL\SCHOOLDATABASE_log.ldf
D:\school\school.bak
D:\school\school20170228
D:\school\school_Data.MDF
D:\school\school_Log.LDF
D:\school\xueshengxunke.bak
D:\school\可重复的前三名.sql
D:\school\数据导出.mdb
D:\school\数据导出.xlsx
*/
//递归,把一个复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解(主要找到递归出口与递归规则)
//思考一下这个实例的递归出口与递归规则是什么