列出指定目录下文件或者文件夹,包含子目录中的内容
也就是列出指定目录下的所有内容
因为目录中还有目录,只要使用同一个列出目录功能的函数完成即可
在列出过程中出现的还是目录的话,还可以再次调用本功能,
也就是函数自身调用自身
这种表现形式,或者变成手法,称为递归
递归要注意:
1 限定条件
2要注意递归的次数, 尽量避免内存溢出
import java.io.*;
class FileDemo3
{
public static void main(String[] args)
{
File dir = new File("d:\\javac");
showDir(dir);
//toBin(6);
//int n = getSum(10);
////System.out.println("n:"+n);
}
//分层目录思想见 视频20-08
public static void showDir(File dir)
{
System.out.println(dir);//打印每一次传进的目录
File[] files = dir.listFiles();//listFile 打印当级目录的当前所有文件
for (int x=0;x<files.length;x++ )
{
if (files[x].isDirectory())//判断是否为目录
showDir(files[x]);//是目录继续对目录遍历
else
System.out.println(files[x]);
}
}
public static int getSum(int n)
{
if(n==1);
return 1;
return n+getSum(n-1);
}
public static void toBin(int num)
{
while(num>0)
{
toBin(num/2);//自身调用自身,先执行完调用自身程序,再返回执行语句,反着打印!
System.out.println(num%2);
}
}
}
|
|