Package org.aoju.bus.core.io


package org.aoju.bus.core.io
IO相关封装和工具类,包括Inputstream和OutputStream实现类和Buffer处理等
Since:
Java 17+
Author:
Kimi Liu
  • Class
    Description
    此超时使用后台线程在超时发生时精确地执行操作 用它来 在本地不支持超时的地方实现超时,例如对阻塞的套接字操作.
    内存中字节的集合.
     
    一种接收器,它在内部保存缓冲区, 以便调用者可以进行小的写操作没有性能损失
    内部保存一个缓冲区,以便调用者可以在没有性能的情况下进行少量读取 它还允许客户端提前读取,在消费之前进行必要的缓冲输入
    由字节数组段组成的不可变字节字符串 该类的存在是为了实现 缓冲区的有效快照 它被实现为一个段数组,加上一个目录 两个半部分,描述段如何组成这个字节字符串
    不可变的字节序列.
    这种流体的强冲刷可能导致压缩降低 每一个 调用DeflaterSink.flush()立即压缩所有当前缓存的数据; 这种早期压缩可能不如执行的压缩有效
    将调用转发给另一个调用的 Timeout.
    将调用转发给另一个调用的Sink
    将调用转发给另一个调用的Source
     
    代码移植自blade 快速缓冲,将数据存放在缓冲集中,取代以往的单一数组
    不会抛出IOExceptions的接收器, 即使底层接收器抛出了IOExceptions
    读取和写入目标文件
    访问分层数据存储上的读写文件 大多数调用者应该使用FileSystem.SYSTEM 实现,它使用主机的本地文件系统 备用 实现可用于注入错误(用于测试)或转换存储的数据(用于添加) 例如加密)
    这相当于使用Deflater同步刷新选项 该类不提供任何部分刷新机制 为获得最佳性能, 只在应用程序行为需要时调用GzipSink.flush()
    解压读取数据
    一个接收器,计算它接受的全部字节流的哈希值 若要使用,请创建 使用您首选的哈希算法实例 将所有数据写入接收器,然后调用 HashSink.hash()来计算最终的哈希值
    计算其提供的全部字节流的散列的源 若要使用,请创建 使用您首选的哈希算法实例 通过读取源文件的所有字节来耗尽源文件 然后调用HashSource.hash()来计算最终的哈希值
    解压从另一个源读取的数据
    这是避免GC搅动和零填充所必需的 这个池是一个线程安全的静态单例
    行处理器
    ByteBuffer内存页
    附加的源和汇。接收器的输出是源的输入。 通常每个线程都由自己的线程访问:生产者线程向接收器写入数据,消费者线程从源读取数据
     
     
     
    缓冲区的一段 缓冲区中的每个段都是一个循环链表节点,它引用以下内容和 缓冲区中前面的段 池中的每个段都是一个单链列表节点,引用池 段的底层字节数组可以在缓冲区和字节字符串之间共享 当一个 段不能回收,也不能改变它的字节数据 唯一的例外是允许所有者段附加到段中,写入数据 limit及以上 每个字节数组都有一个单独的拥有段 的立场, 限制、prev和next引用不共享
    接收一个字节流 使用这个接口可以在任何地方编写数据 需要:到网络、存储器或内存中的缓冲区 水槽可以分层 转换接收到的数据,如压缩、加密、节流或添加协议框架 BufferSink.outputStream()使一个接收器适应outputStream
    提供一个字节流 使用此接口从任何地方读取数据 它的位置:来自网络、存储或内存中的缓冲区 来源可能 分层以转换提供的数据,例如解压、解密或移除协议框架
    Stream进度条
    在放弃一项任务之前要花多少时间的策略 当一个任务 超时时,它处于未指定的状态,应该被放弃 例如,如果从源读取超时,则应关闭该源并 稍后应重试读取 如果向接收器写入超时,也是一样 适用规则:关闭洗涤槽,稍后重试
    虚拟ByteBuffer缓冲区
    包装当前会话分配到的虚拟Buffer,提供流式操作方式