Stream流操作

一、流的分类

在这里插入图片描述

1.1 流的方向:输入流和输出流

输入流: 输入到计算机内存,键盘键入,文件读取等
输出流: 从计算机内存输出,写入显示器,文件写入等

1.2 流的功能:节点流和过滤流
  • 节点流:从一个特定的数据源读写数据。节点流是直接操作文件,网络等的流,例如:FileInputStream和FileOutputStream
    在这里插入图片描述

  • 过滤流: 对节点流进行系列包装,例如:BufferedInputStream和BufferedOutputStream:提供带缓冲的读写,DataInputStream和DataOutputStream:提供基本数据类型的功能
    在这里插入图片描述

public static void main(String[] args) throws IOException {
        // 节点流FileOutputStream,直接对数据源操作
        FileOutputStream fileOutputStream = new FileOutputStream("test.txt");
        // 过滤流BufferedOutputStream装饰节点流,提供缓冲写
        BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(
                fileOutputStream);
        // 过滤流DataOutputStream进一步装饰过滤流,使其提供基本数据类型的写
        DataOutputStream out = new DataOutputStream(bufferedOutputStream);
        
        out.writeInt(3);
        out.writeBoolean(true);
        out.flush();
        out.close();
        // 此处输入节点流,过滤流正好跟上边输出对应,读者可举一反三
        DataInputStream in = new DataInputStream(new BufferedInputStream(
                new FileInputStream("A.txt")));
        System.out.println(in.readInt());
        System.out.println(in.readBoolean());
        in.close();
}

二、流的方法

2.1 字节流

- 字节输入流:FileInputStream、BufferedInputStream和DataInputStream
  • FileInputStream:用于从本地文件系统中读取文件内容

【构造方法】
1 FileInputStream(File file):打开实际文件来创建FileInputStream实例,该文件通过文件系统中的File对象file指定。
2 FileInputStream(String name):打开一个到实际文件的连接来创建一个FileInputStream,该文件通过文件系统中的路径名name指定

  • BufferedInputStream:自带缓冲区,在读取数据时,先放到缓冲区中,减少对数据源的访问

构造方法

BufferedInputStream(InputStream in):创建一个BufferedInputStream并保存其参数,即输入流in,以便将来使用

BufferedInputStream(InputStream in,int size):创建一个具有指定缓冲区大小的BufferedInputStream并保存其参数,即输入流in,以便将来使用。

  • DataInputStream:该类提供一些基于多字节读取方法,从而可以读取基本数据类型的数据。

2.2 字符流

字符流只能处理字符数据

FileReader:用来读取字符文件的便捷类

FileWriter:用来写入字符文件的便捷类,可用于写入字符流

BufferedWriter: 将文本写入字符输出流,缓冲各个字符

参考博文链接!!!

三、Stream的API

Stream的API特性!!!
JDK 8引入了Stream API,它是Java中处理集合数据的一种新方式。Stream流提供了一种更简洁、更灵活的方式来对集合进行操作和处理。

3.1 创建Stream流

3.2 Stream流的中间操作

3.3 Stream流的终端操作

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值