• 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流的终端操作

  • 相关阅读:
    C++ Qt开发:QSqlDatabase数据库组件
    Qt控件分析它的组成,分析子控件,从而改变样式QSS
    459基于python的汽车维修零配件查询系统
    P4185 [USACO18JAN] MooTube G (并查集 + 离线
    1、Spring IOC的理解要点
    netty快速入门
    OSPF—— LSA-1和 LSA-2
    html入门综合练习
    Qt Design Studio
    【附源码】计算机毕业设计JAVA旅行指南网站
  • 原文地址:https://blog.csdn.net/Mikon_0703/article/details/132809807