A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

今天我们学习了File类和递归,请根据自己理解回答下面问题:
1.绝对路径和相对路径的区别?
2.什么是递归?什么情况下会用到递归?什么时候结束递归?
3.什么是文件过滤器,有什么用?

4 个回复

倒序浏览
1.绝对路径是从盘符开始算
相对路径是从当前路径开始算,默认是从当前项目文件夹
2.方法调用自身   或者间接调用     存在规律 一个问题引出另个问题 且解决方法一样  
有条件就能结束递归  没条件就无限递归
3.可以过滤掉不符合条件的文件
回复 使用道具 举报
1.        绝对路径和相对路径的区别?
答:绝对路径:从盘符开始的路径,是一个完整的路径。
相对路径:相对于项目目录的路径,这是一个便捷的路径,开发中经常使用。
2.        什么是递归?什么情况下会用到递归?什么时候结束递归?
答:递归:指在当前方法内调用自己的这种现象。分为直接递归和简介递归。
当调用方法的时候,方法的主体不变,每次调用方法的参数不同,可以使用递归。使用递归可以减少一定的代码量。
递归需要自定义递归结束条件,当达到限定条件的时候,结束方法,弹栈,递归结束。如果没有设定的话,会发生栈内存溢出。
3.        什么是文件过滤器,有什么用?
答:java.io.FileFilter是一个接口,是File的过滤器。该接口的对象可以传递给File类的listFiles(FileFilter)作为参数。
接口作为参数,参数为File,表示当前的File下所有的子文件和子目录。保留住则返回true,过滤掉则返回false。保留规则:1.要么是.java文件;2.要么是目录,用于继续遍历。
通过过滤器的作用,listFiles(FileFilter)返回的数组元素中,子文件对象都是符合条件的,可以直接打印。
过滤器通过遍历指定文件夹下的所有文件,用来保留想要的文件,滤掉不想保留的文件,是一个文件集合。
回复 使用道具 举报 1 0
1.绝对路径和相对路径的区别?(1)绝对路径是从盘符开始表示的路径,可以在任意的文件位置识别该路径,但是书写的路径比较长,开发中不常用;
(2)相对路径是依赖于某一个路径,在其依赖的路径下,可以省其依赖路径书写,但是只能在依赖路径下使用该写法, 因为书写方便,所以开发中经常使用。
2.什么是递归?什么情况下会用到递归?什么时候结束递归?
(1)递归就是方法调用自己本身的一种函数执行方式,需要终止条件;
(2)在解决一些具有重复规律,前一次与后一次的关系可以抽象为一个通用公式的地方可以使用,一般在文件的遍历搜索或删除中比较常用,因为其比较消耗栈资源,容易造成栈溢出,其他地方不常用;
(3)递归需要有终止条件(根据具体功能实现而定),在满足其终止条件的时候,递归结束。
3.什么是文件过滤器,有什么用?

(1)文件过滤器本质是一个接口,其中定义了对文件进行过滤的方法accept(),将其实现类传递给File对象的listFiles()方法使用;
(2)使用过滤器,可以直接通过listFiles方法获取满足条件的文件,将在程序中写文件是否符合条件的判断转移到接口中去写并通过参数的形式传递,降低了程序的耦合性,提高健壮性和可维护性。

回复 使用道具 举报
1.绝对路径和相对路径的区别?
(1)绝对路径: 从硬盘盘符起一个完整的路径
(2)相对路径: 相对于项目路径的的一个便捷路径
2.什么是递归?什么情况下会用到递归?什么时候结束递归?
(1)方法中调用自己的为递归,分为直接递归和间接递归
(2)目录内多级嵌套中可以使用
(3)在满足递归条件的时候结束递归,递归次数多的话会导致内存溢出
3.什么是文件过滤器,有什么用?
(1)是一个接口,该接口的对象可以传递listFile作文参数,里面只有一个方法.
(2)返回的数组中,子文件都是符合条件的,可以直接打印.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马