File&递归

第一章:File

0.介绍一个工具(可查看知识点)

jdk-9_汉化版.CHM

1.File介绍

  • 在java里,java.io.File类是处理文件和目录路径名的抽象表示

    //创建一个File对象 
    File file=new File("a.txt")


2.介绍File类的相关方法

  1. creaNewFile()

  1. exists()

  2. getAbsoluteFile()

  3. getName()

  4. getParent()

  5. getPath()

    获取文件全路径

  6. isAbsolute

  7. isDirectore()

  8. isFile

    判断是不是一个标准文件

  9. lastModified()

    查看最后一次被修改的时间

  10. length()

    文件的长度

  11. list()

  12. listFiles()

    获取目录下的所有File对象

  13. listRoots()

    获取电脑的所有盘

  14. mkdir()

    创建文件指定的目录

3.遍历文件夹

  1. 获取到文件夹内的所有File对象的名称

    String[] lists=file.list();
    for(String name:lists){
        System.out.println(name)
    }


4.讲解递归的使用

4.1 什么是递归

  • 递归是指在函数的定义中使用函数自身的方法。

  • 就是一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解。

4.2 递归的使用

例如:

  1. 阶乘 阶乘是一个经典的递归问题,n的阶乘(表示为n!)

    计算1+2+3+4....+100的和
    int sum=0;
    for(int i=1;i<=100;i++){
        sum+=i;
    }
    计算1*2*3*4*....*100的积
    int s=1;
    for(int i=1;i<=100;i++){
        s*=i
    }
    阶乘:
    10!=1*2*3*4*5*6*7*8*9*10
    n!=(n-1)!*n

5.使用递归迭代文件夹

File file =new File("d:/file/cs")
showInfo(file)
​
//写一个函数:接收一个File对象,输出该File对象内的所有File对象名
​
public static void showInfo(File file){
    //获取File对象中的所有File对象
    File[] files=file.listFiles();
    //遍历数组,打印File对象的名字
    for(File f.files){
        //判断每一个File对象是不是文件夹:是文件夹就继续获取
        if(f.isDirectory()){
        //调用自己 继续获取File对象中的所有File对象
            showInfo(f);
        }else{
            //打印名字
            System.out.println(f.getName())
        }
    }
}
​
public static void deByXLs(File file,String type){
    //获取到File对象内的所有File对象
    File[] files=file.listFiles();
    //遍历数组
    for(File f:files){
        if(f.isDirectory()){
            delByXLs(f)
        }else{
            //获取每一个File对象的名称
            Sring fileName=f.getName();
            //获取到文件名最后一个点的下标
            int lastIndexOf=fileName.lastIndexOf(".")
            //截取到后缀名
            String fileType=fileName.substring(lastIndexOf);
            //判断后缀名是不是xls
            if(".xls".equals(fileType)){
                //是就删除
                f.delete();
                System.out.println(fileName+"xls文件已删除")
            }
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值