您的位置:首页 > 其它

列出目录下所有内容-----递归

2017-03-22 01:10 197 查看
/*

列出指定目录下文件或者文件夹,包含目录中的内容。

也就是列出指定目录下所有内容

因为目录中还有目录,只要使用同一个列出目录功能的函数完成即可

在列出过程中出现的还是目录的话,还可以再次调用本功能。

也就是函数自身调用自身。

这种表现形式,或者编程手法,称为递归。

递归要注意:

1,限定条件

2,注意递归的次数,尽量避免内存溢出

*/

import java.io.*;

class FileDemo3 

{
public static void main(String[] args) 
{
//File dir = new File("d:\\D");
//showDir(dir);
//toBin(6);
System.out.println(getSum(10));
}
public static int getSum(int n)
{
if(n==1)
return 1;
return (n+getSum(n-1));
}

public static void toBin(int num)
{
if (num>0)
{
toBin(num/2);
System.out.println(num%2);
//toBin(num/2);
}
}

public static void showDir(File dir)//接收一个目录对象
{
System.out.println(dir);
File[] files = dir.listFiles();
for (int x=0; x<files.length; x++)
{
if(files[x].isDirectory())//如果是个目录

// { //showDir(files[x]);

// String[] names = files[x].list();

// for(String name:names)//错误的思路

// {

// System.out.println(name);

// }

// }
showDir(files[x]);
else
System.out.println(files[x]);

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: