FileDirectory And Recursion

 利用Recursion,取得文件目錄及其子目錄。

FileList.java

public class FileList {
	public static void main(String[] args) {
		File f = new File("C:\\");
		System.out.println(f.getName());
		tree(f, 1);
	}
	private static void tree(File f, int leval) {
		String preStr = "";
		for (int i = 0; i < leval; i++) {
			preStr += "      ";
		}
		File[] childs = f.listFiles();
		for (int i = 0; i < childs.length; i++) {
			System.out.println(preStr + "----"+childs[i].getName());
			if (childs[i].isDirectory()) {
				tree(childs[i], leval + 1);
			}
		}
	}

}


 取得文件目錄:

FileDirectory.java

import java.io.File;
import java.io.FileFilter;

public class FileDirectory implements FileFilter{
	private boolean isDirectory;
	public FileDirectory(boolean isDir)
	{
		this.isDirectory=isDir;
	}
	public boolean accept(File pathname)
	{
		if(pathname.isDirectory()==isDirectory)
		{
			return true;
		}
		else
		{
			return false;
		}
	}
}


Main.java

import java.io.File;

public class Main{
 public static void main(String[] args) {
  File file=new File("C:\\");
  file.mkdirs();
  FileDirectory fd=new FileDirectory(true);
  System.out.println(file.getAbsolutePath());
  File[] filenames=file.listFiles(fd);
  for(int i=0;i<filenames.length;i++)
  {
   System.out.println(filenames[i].getAbsolutePath());
  }
 }
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章