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方法。

注意事项:

递归一定要有条件限定,保证递归能够停止下来,否则会发生栈内存溢出。

在递归中虽然有限定条件,但是递归次数不能太多。否则也会发生栈内存溢出。

构造方法,禁止递归

 

posted @   冰灵IT  阅读(99)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示