• 详解 序列输入流


    (请观看本人博文——《详解 字节流》

    SequenceInputStream 类:

    概念

    表示其他输入流的逻辑串联 它从输入流的有序集合开始, 并从第一个输入流开始读取直到到达文件末尾, 接着从第二个输入流读取, 依次类推,直到到达包含的最后一个输入流的文件末尾为止

    这个流强悍在可以合并多个InputStream的子类的文件的信息

    那么,现在,本人来展示下这个流的构造方法

    构造方法

    • SequenceInputStream(InputStream s1, InputStream s2) 通过记住这两个参数来初始化新创建的 SequenceInputStream (将按顺序读取这两个参数,先读取 s1,然后读取 s2),
    • SequenceInputStream(Enumeration<? extends InputStream> e) 通过记住参数来初始化新创建的 SequenceInputStream, 该参数必须是生成运行时类型为 InputStream 对象的 Enumeration 型参数

    现在,本人来展示下这个类的常用API

    常用API

    • int available() 返回不受阻塞地从当前底层输入流读取(或跳过)的字节数的估计值, 方法是通过下一次调用当前底层输入流的方法
    • void close() 关闭此输入流并释放与此流关联的所有系统资源
    • int read() 从此输入流中读取下一个数据字节
    • int read(byte[] b, int off, int len) 将最多 len 个数据字节从此输入流读入 byte 数组

    那么,现在,本人来展示下部分API 的使用:

    package edu.youzg.about_io.about_file.core.Test;
    
    import edu.youzg.about_io.about_file.core.FanInfo;
    
    import java.io.*;
    import java.util.Enumeration;
    import java.util.Properties;
    import java.util.Vector;
    
    public class Test {
    
        public static void main(String[] args) throws IOException, ClassNotFoundException {
            FileInputStream in1 = new FileInputStream("JoJo.properties");
            DataInputStream in2 = new DataInputStream(new FileInputStream("plantsVSzombies.mp4"));
            SequenceInputStream in = new SequenceInputStream(in1, in2);
            FileOutputStream out = new FileOutputStream(new File("summary.txt"));
    
            int len = 0;
            byte[] bytes = new byte[1024 * 8];
            while ((len = in.read(bytes))!= -1){
                out.write(bytes,0,len);
                out.flush();
            }
            out.close();
            in.close();
    
        }
    
    }
    

    现在,本人来展示下两个源文件信息: 在这里插入图片描述

    在这里插入图片描述

    本人再来展示下生成文件的信息: 在这里插入图片描述 可以看到,两个文件用不同流包装的文件,被代码合并成了一个指定文件。

    (本人《详解 字节流》博文链接:https:////www.cnblogs.com/codderYouzg/p/12418463.html) (本人 I/O流总集篇 博文链接:https:////www.cnblogs.com/codderYouzg/p/12418404.html

  • 相关阅读:
    请教JDBC中的thin和OCI的区别
    ORACLE中查询被锁定的表,以及如何解锁
    oracle批量插入测试数据
    oracle查看用户表
    decode 函数及其用法
    oracle序列详解
    MySQL数据库远程连接开启方法
    CentOS下MySQL忘记root密码解决方法【转载】
    oracle实现同时多表插入
    MyCat:第七章:MyCAT的亿级别任务
  • 原文地址:https://www.cnblogs.com/codderYouzg/p/12418517.html
Copyright © 2020-2023  润新知