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的思想
相关推荐
白帽攻防录6 小时前
SRC 挖洞:PostScript 打印机驱动双 RCE,打印服务器怎么变成内网跳板
开发语言·网络安全·php·内网安全
聚美智数6 小时前
智能结构化识别-图片结构解析-图像结构化解析-照片结构化解析
android·java·数据库
十年Java程序媛6 小时前
Java枚举Enum完整教程|替代静态常量,开发与面试要点
java·开发语言·spring boot·后端·面试
我是人✓6 小时前
SpringBoot静态资源映射揭秘
java·spring boot·后端
2603_965148116 小时前
电商选品调研:通过关键词搜索API获取市场热销商品,结合商品详情API分析竞品卖点与定价
开发语言·数据库·人工智能·python·信息可视化
土豆.exe7 小时前
nf_tables 的 verdict 被读了两次:一个十年未闭合的位域错配
java·数据库·网络安全·缓存
xixiaoyunya7 小时前
Python 异步编程入门:用 asyncio 轻松实现并发任务
开发语言·python·php
学逆向的7 小时前
C 循环结构的执行效率分析
c语言·开发语言·数据结构·网络安全
小坏讲微服务8 小时前
刚发布一个月的JDK 27,为什么我建议你立刻升级?
java·开发语言·spring boot·spring·架构·求职招聘·springboot4
kunicoding8 小时前
多线程编程核心概念详解:从线程基础到并发安全
java·jvm·安全