Java基础进阶Day08

Java基础进阶Day08

课程大纲

1、文件File类 -----------------------> 重点 (基础的方法介绍)
2、递归思想 -------------------------> 理解 (递归的步骤)
3、文件过滤器 -----------------------> 理解 (回顾Lambda表达式)

第一章 文件File类

1、File类构造方法
三种构造
   public File(String pathname)					//参数: 文件的路径【推荐】
   public File(String parent, String child) 	//参数: 父文件路径  和 子文件名称
   public File(File parent, String child) 		//参数: 父文件的对象 和 子文件的名称
2、File类常用方法
A.增(创建)
		public boolean createNewFile() //创建文件
		public boolean mkdir() //创建文件夹
		public boolean mkdirs() //创建文件夹【推荐】
		
B.删(删除)
		public boolean delete() //文件可以直接删除,文件夹需要清空子文件删除
		
C.改(修改)
		public boolean renameTo(File dest)  //修改文件名称
		
D.查(获取和判断)
		public String getAbsolutePath() 	//获取绝对路径
		public String getPath()  	 //获取File的构造方法路径
		public String getName()  	 //获取File的名字
		public long length()	 	//获取文件的大小(文件夹的大小,是所有文件大小之和)
		public String[] list()	 	//获取下一层子文件.字符串数组
		public File[] listFiles()	 //获取下一层子文件.File对象数组【推荐】
		public boolean exists()  	 //判断文件或者文件夹是否存在
		public boolean isDirectory() //判断是否是文件夹
		public boolean isFile()		 //判断是否是文件
3、注意事项
A. 路径问题
	a.相对路径:不带盘符,在idea的相对于项目路径,对于module下面的文件夹,需要加上module名称
	b.绝对路径: 带有盘符,需要给出完整的路径
	
B. 创建文件或文件夹
	根据方法的名称来确定是文件还是文件夹,不是根据路径来确定

第二章 递归思想

1、递归案例
a.5阶乘
b. 求多项和
c. 趣味年龄
d. 斐波拉契数(不死神兔)
2、递归步骤
a.写方法
b.找出口
c.找规律
3、递归图例
a.画内存图
b.Debug追踪

第三章 文件过滤器

1、递归遍历文件夹的代码
A. 三参数问题 (高内聚"独立"与低耦合"依赖"思想)
	public static void diGuiFile(File mFile,List<File> dirList,List<File> fileList)
	
B. 拓展案例:
	a.递归获取所有的文件和文件夹信息,打印目录
	b.递归删除文件夹思想,见到文件就删除
	c.递归获取子文件思想,筛选集合数据
	d.递归获取所有文件夹的大小
	e.递归获取每种文件的数目
2、文件过滤器 FileFilter 的使用方式<筛选所有的java文件数据>
A. 匿名内部类用法
	File[] fileArr = mFile.listFiles(new FileFilter() {
		@Override
		public boolean accept(File pathname) {
			return pathname.getName().endsWith(".java")||pathname.isDirectory();
		}
	});

B. Lambda表达式用法
	File[] fileArr = mFile.listFiles((f)->f.getName().endsWith("java")||f.isDirectory());

猜你喜欢

转载自blog.csdn.net/weixin_43904518/article/details/85175539
今日推荐