實驗五:查看File類的API文檔,使用該類實現一個類FileList

題目

查看File類的API文檔,使用該類實現一個類FileList,它提供兩個靜態方法:1)printContentsInOneDirectory:能夠將輸入參數path所指定的本地磁盤路徑下的所有目錄和文件的名稱(指明是目錄還是文件,格式見下圖)打印出來;2)readFileAndDirectory:能夠將輸入參數path所指定的本地磁盤路徑下的所有目錄(包含子目錄)和文件的名稱(指明是目錄還是文件,格式見下圖)以層次化結構打印出來。例如,某個目錄下面有子目錄a和文件Teacher.class,目錄a下面有子目錄b(下面有文件Teacher.java)和c(下面有文件Test.java和Test.class)以及文件1.txt,將該目錄對應的路徑作爲輸入參數調用該方法,程序的輸出如下圖所示。

file.png

答案

import java.io.File;

public class FileList 
{
	public static void printContentsInOneDirectory(String path)
	{
		File f=new File(path);
		File []ff=f.listFiles();
		for(int i=0;i<ff.length;i++)
		{
			if(ff[i].isDirectory()==true)
			{
				System.out.println("[目錄]"+ff[i].getName());
				
			}
			else if(ff[i].isFile()==true)
			{
				System.out.println("[文件]"+ff[i].getName());
			}
		}
	}
	static public void readFileAndDirectory(String path,int num)
	{
		File f=new File(path);
		File []ff=f.listFiles();
		for(int i=0;i<ff.length;i++)
		{
			for(int j=0;j<num;j++)
			{
				System.out.print("-");
			}
			if(ff[i].isFile())
			{
				System.out.println("[文件]"+ff[i].getName());
			}
			else if(ff[i].isDirectory())
			{
				System.out.println("[目錄]"+ff[i].getName());
				readFileAndDirectory(ff[i].getAbsolutePath(),num+2);
			}
		}
	}
	public static void main(String[] args)
	{
		printContentsInOneDirectory("E:\\workplace\\DUQUWENJIAN3");
		readFileAndDirectory("E:\\\\workplace\\\\DUQUWENJIAN3",0);
	}
}

 

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