JavaSE入门stream流,File类和递归day08

文章详细介绍了Java8中的StreamAPI,包括如何获取和操作流,以及流的中间和终结操作。同时,文章阐述了File类的基本用法,如文件路径、信息获取、文件判断及创建删除等操作,并提及了递归的概念和应用注意事项。
摘要由CSDN通过智能技术生成

一,stream流

1.stream流:是JDK8开始新增的一套API,可以用于操作集合或者数组的数据

2.优势:stream流大量结合了lambda表达式语法风格编程,提供更强大更简单的方式操作集合或者数组的数据

3.使用步骤

(1)获取流

      ①Collection集合:stream()

      ②数组:Arrays.stream()或者stream.of()

      ③扩展

        Ⅰ:Map集合不能获取流

        Ⅱ:Map集合只能用键获取流,或者用值获取流,或者用键值对获取流

(2)操作流

      ①中间方法:返回值是一个新的Stream流对象(可以继续调用Stream的方法,支持链式编程)

      ②注意:一个流对象只能使用一次,流操作之后会产生新的流,再次使用原来的流会报错

(3)终结流

      ①操作方法

        Ⅰ遍历:forEach()

        Ⅱ统计个数:count()

        Ⅲ获取最大值:max()

        Ⅳ获取最小值:min()

      ②收集方法

        Ⅰ收集到集合:collect()

        Ⅱ收集到数组:toArray()

二,File类

1.File就是java.io包下的类,File类的对象,用于表示当前操作系统的文件

2.路径

(1)绝对路径:以盘符开始的完整路径

(2)相对路径:相对于项目的当前路径

3.注意事项

(1)File类只能对文件本身进行操作,不能读写文件里面存储的数据

(2)File类对象既可以表示文件,也可以表示文件夹

(3)File封装的对象仅仅是一个路径名,这个路径可以是存在的,也允许是不存在的

4.常用方法

(1)获取文件信息

      ①获取名称:getName()

      ②获取文件大小,返回字节个数:length()

      ③获取文件最后修改时间:lastModified()

      ④获取创建文件对象时使用的路径:getPath()

      ⑤获取文件的绝对路径:getAbsolutePath()

(2)判断文件类型

      ①判断文件对象对应的路径是否存在:exists()

      ②判断文件对象是否是文件:isFile()

      ③判断文件对象是否是文件夹:isDirectory()

(3)创建,删除文件

      ①创建一个新的文件:createNewFile()

      ②创建一级文件夹:mkdir()

      ③创建多级文件夹:mkdirs()

      ④删除文件(默认只能删除文件和空文件夹,删除后的文件不会进回收站):delete()

(4)遍历文件夹

      ①获取当前目录下的所有一级文件名称到一个字符串数组:list()

      ②获取当前目录下的所有一级文件对象到一个文件对象数组中:listFiles()

      ③使用listFiles方法的注意事项

        Ⅰ:当主调是文件,或者路径不存在时,返回null

        Ⅱ:当主调是空文件夹时,返回一个长度为0的数组

        Ⅲ:当主调是一个文件夹,且里面有隐藏文件时,将里面所有文件和文件夹的路径放在File数组中返回,包含隐藏文件

        Ⅳ:当主调是一个文件夹,但是没有权限访问该文件夹时,返回null

三,递归

1.递归是一种算法,从形式上说,方法调用自身的形式称为方法递归

2.递归形式

(1)直接递归:方法自己调用自己

(2)间接递归:方法调用其他方法,其他方法又回调方法自己

3.注意事项:递归如果没有控制好终止,会出现递归死循环,导致栈内存溢出异常

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值