Java 09Stream流与File类

Stream流与File类

Stream流

复制代码
简化集合和数组的操作,

startWith("张")

复制代码
第一个为这个返回true
String

1.获取Stream对象

单列集合
双列集合
复制代码
先获得键值对
在遍历
数组
零散的数据
复制代码
Stream<Integer> arr=Stream.of(1,2,34,3);
stream.forEach(sss);
即可

2.中间方法

filter
复制代码
在集合当中,对数据进行过滤
复制代码
重写Predicate类,符合条件的返回true,不符合的返回false

他的返回值,仍然是一个Stream流对象,所以称之为中间过程

 ArrayList<String> arr=new ArrayList<>();
        arr.add("dasd");
        arr.add("basd");
        arr.add("dad");
        arr.add("dsa");
        arr.stream().filter(s -> s.startsWith("d")).filter(s->s.endsWith("d")).forEach(s-> System.out.println(s));
limit
复制代码
arr.stream().limit(3).forEach(s->System.out.println(s));

使用limit(int length);//限制多少个元素
skip
复制代码
arr.stream().skip(3).forEach(s->System.out.println(s));

使用skip(int length);//跳过多少个元素

limit和skip是可以一起用的
concat
复制代码
Stream.concat(Stream a,Stream b);
将两个流进行合并,但是注意一点,不会进行去重哦
distinct
复制代码
arr.distinct();进行操作即可
依赖的是hashcode和equals方法,所以需要注意一点,在我们自己创建对象的时候,需要重写这两个方法

注意一下,如果一个流已经被消费过或者是进行使用过,那么这个流就相当于关闭了,就不能再进行操作了!!!!!!!!!

3.终结方法

复制代码
流水线的最后一个操作。
进行该类的操作之后,就不能再进行操作了,因为相当于是最后一个操作了
forEach
复制代码
遍历数组
count
复制代码
查看有多少个方法

4.收集操作

复制代码
把stream流操作后的结果数据转回到集合
不会修改数据源
Collector
toList,toSet
toMap


java 复制代码
collect(,);
前面写的是key,后面是value
需要进行转化
new Function(a1,a2);
a1为流中的类型
a2为目标类型
需要重写function里面的apply方法,也就是需要将转化出来的的操作进行打印即可

File类

复制代码
操作系统的文件对象(文件、文件夹)

构造

复制代码
根据输入的字符串进行操作
File f1=new File("F:\\A.txt");
f1.createNewFile();//创建文件
f1.exists();//存在返回true

 File f1=new File("F:\\","A.txt");
 也可以根据父级路径和子级路径来封装File对象
 
 
f1=new File(new File(new File("F:\\") ),"A.txt");

相对路径和绝对路径

复制代码
跟js那边的概念是一样的
绝对:从根目录开始,一点点的找
绝对:相对于当前项目进行查询
复制代码
尽管我们创建包的时候习惯写.
但实际上在我们进行查询的时候需要用转移字符\\才可以

isDirectory

复制代码
判断是否是文件文件夹

isFile!

复制代码
判断是否是文件

exists

复制代码
判断是否存在

length()

复制代码
判断文件的字节大小
文件夹的话,会返回错的

getAbsoluteFile()

复制代码
System.out.println(f1.getAbsoluteFile());
获得绝对路径

getName

复制代码
获得文件的名字

lastModified

复制代码
获得文件的最后的修改时间,返回的是毫秒值

创建和删除

createNewFile
复制代码
创建一个空的文件
实现创建路径和想要创建的对象,才能通过路径对文件夹进行增删查改的操作
mkdirs
复制代码
创建多级文件夹
delete
复制代码
删除
只能删除空的文件夹
删除不走回收站!!
回收不了
public File[] listFiles()
复制代码
获得当前目录下所有的一级文件对象
复制代码
可以利用递归的操作将一个文件夹下面的所有的文件都获取
其实也就是dfs

可能偶尔会返回为null,因为
路径可能会不存在
路径是文件的时候
为空文件的时候,返回的是一个长度为0的数组
!!
当访问的内容或者是文件夹他需要的是需要密码才能够进入的时候们,就会返回为null

至于如何进行的删除,这边不进行
解释了,就是dfs的思想
相关推荐
侠客行03179 小时前
Mybatis连接池实现及池化模式
java·mybatis·源码阅读
蛇皮划水怪9 小时前
深入浅出LangChain4J
java·langchain·llm
灰子学技术11 小时前
go response.Body.close()导致连接异常处理
开发语言·后端·golang
老毛肚11 小时前
MyBatis体系结构与工作原理 上篇
java·mybatis
风流倜傥唐伯虎11 小时前
Spring Boot Jar包生产级启停脚本
java·运维·spring boot
二十雨辰11 小时前
[python]-AI大模型
开发语言·人工智能·python
Yvonne爱编码11 小时前
JAVA数据结构 DAY6-栈和队列
java·开发语言·数据结构·python
Re.不晚11 小时前
JAVA进阶之路——无奖问答挑战1
java·开发语言
你这个代码我看不懂12 小时前
@ConditionalOnProperty不直接使用松绑定规则
java·开发语言
pas13612 小时前
41-parse的实现原理&有限状态机
开发语言·前端·javascript