实验五:查看File类的API文档,使用该类实现一个类FileList

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fighting123678/article/details/84575647

题目

查看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);
	}
}

猜你喜欢

转载自blog.csdn.net/fighting123678/article/details/84575647
今日推荐