File类遍历(文件夹)目录功能,递归概念&分类&注意事项
File类遍历(文件夹)目录功能:
File类遍历(文件夹)目录功能
String[] list();返回一个String数组,表示该File目录中的所有子文件或目录
File[] listFiles();返回一个File数组,表示该File目录中的所有子文件或目录
注意:
1、list方法和listFile方法遍历的是构造方法中给出的目录
2、如果构造方法中的路径不存在,则抛出空指针异常
3、如果构造方法中的路径不是一个目录,也会抛出空指针异常
/* File类遍历文件夹(目录)功能 public String[] list(); 返回一个String数组,表示该File目录中的所哟有子文件或者目录 public File[] listFiles(); 返回一个File数组,表示该File目录中所有的子文件或目录 注意: list 和 listFiles方法遍历的是构造方法File括号里给出的目录 如果构造方法中给出的目录的路径不存在,就会抛出空指针异常 如果构造方法中给出的路径不是一个目录(不是一个文件夹) 也会抛出空指针异常 */ public class File03 { public static void main(String[] args) { show01(); show02(); } /* public File[] listFiles(); 返回一个File数组,表示该File目录中所有的子文件或目录(文件夹) 遍历构造方法中给出的目录(文件夹),会获取目录(文件夹中)所有的文件/文件夹的名称,把获取到的多个名称储存到一个String类型的数组中 */ private static void show02() { File f1 = new File("新建文件夹"); File[] arr = f1.listFiles();//注意这里隐藏的文件夹或文件也能出来 for (File fileName : arr) { //增强for遍历 System.out.println(fileName); } } /* public String[] list(); 返回一个String数组,表示该File目录中的所哟有子文件或者目录 用于遍历构造方法给,出的目录(文件夹),会获取目录中的所有文件/文件夹的名称,把获取大的多个名称储存在一个String类型的数组中 */ private static void show01() { File f1 = new File("新建文件夹"); String[] arr = f1.list(); //注意这里隐藏的文件夹或文件也能出来 System.out.println(Arrays.toString(arr)); for (String fileName : arr) { //增强for遍历 System.out.println(fileName); } /*File f2 = new File("新建文件夹\\新建文本文档.txt"); String[] arr01 = f2.list(); for (String fileName:arr01){ //增强for遍历 System.out.println(fileName); }//报错 如果构造方法中给出的路径不是一个目录(不是一个文件夹) 也会抛出空指针异常 File f3 = new File("新建文件"); String[] arr02 = f3.list(); for (String fileName:arr02){ //增强for遍历 如果用Arrays.toString不会报错 System.out.println(fileName); }//如果构造方法中给出的目录的路径不存在,就会抛出空指针异常 }*/ } }
递归概念&分类&注意事项:
递归:指在当前方法内调用自己的这种现象。
递归的分类:递归分为两种,直接递归和间接递归。
直接递归称为方法自身调用自己。
间接递归可以A方法调用B方法,B方法调用C方法,C方法调用A方法。
注意事项:
递归一定要有条件限定,保证递归能够停止下来,否则会发生栈内存溢出。
在递归中虽然有限定条件,但是递归次数不能太多。否则也会发生栈内存溢出。
构造方法,禁止递归
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix