/*
列出指定目錄下文件或者文件夾,包含子目錄中的內容。
也就是列出指定目錄下所有內容。
因爲目錄中還有目錄,只要使用同一個列出目錄功能的函數完成即可。
在列出過程中出現的還是目錄的話,還可以再次調用本功能。
也就是函數自身調用自身。
這種表現形式,或者編程手法,稱爲遞歸。
遞歸要注意:
1,限定條件。
2,要注意遞歸的次數。儘量避免內存溢出。
*/
import java.io.*;
class FileDemo3
{
public static void main(String[] args)
{
File dir = new File("d:\\testdir");
//showDir(dir,0);
//toBin(6);
//int n = getSum(8000);
//System.out.println("n="+n);
System.out.println(dir.delete());
}
public static String getLevel(int level)
{
StringBuilder sb = new StringBuilder();
sb.append("|--");
for(int x=0; x<level; x++)
{
//sb.append("|--");
sb.insert(0,"| ");
}
return sb.toString();
}
public static void showDir(File dir,int level)
{
System.out.println(getLevel(level)+dir.getName());
level++;
File[] files = dir.listFiles();
for(int x=0; x<files.length; x++)
{
if(files[x].isDirectory())
showDir(files[x],level);
else
System.out.println(getLevel(level)+files[x]);
}
}
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);
}
}
public static void method()
{
method();
}
}
IO流——File類(利用遞歸列出所有文件)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.