• 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();
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    二、流的方法

    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,以便将来使用。
    
    
    • 1
    • 2
    • 3
    • 4
    • 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流的终端操作

  • 相关阅读:
    深入了解前端开发规范的区别《Commonjs、AMD、CMD、ES6模块化》
    剑指offer打卡(一)
    leetcode做题笔记128. 最长连续序列
    跨越千年医学对话:用AI技术解锁中医古籍知识,构建能够精准问答的智能语言模型,成就专业级古籍解读助手(LLAMA)
    Vue2:状态管理 Vuex 3.x
    【Vue】基础系列(二二)Vue基础--Vue模板语法-vue数据绑定原理-插值语法-指令语法-元素的显示隐藏
    Linux之防火墙
    shiro原理解析
    Java常见漏洞——整数溢出漏洞、硬编码密码漏洞、不安全的随机数生成器
    JAVA中Function的使用
  • 原文地址:https://blog.csdn.net/Mikon_0703/article/details/132809807