类 MultipartRequestInputStream

  • 所有已实现的接口:
    java.io.Closeable, java.lang.AutoCloseable

    public class MultipartRequestInputStream
    extends java.io.BufferedInputStream
    Http请求解析流,提供了专门针对带文件的form表单的解析
    源自 hutool-extra
    从以下版本开始:
    2019年8月14日
    作者:
    孙金川
    • 字段概要

      字段 
      修饰符和类型 字段 说明
      protected byte[] boundary
      part部分边界
      protected UploadFileHeader lastHeader  
      • 从类继承的字段 java.io.BufferedInputStream

        buf, count, marklimit, markpos, pos
      • 从类继承的字段 java.io.FilterInputStream

        in
    • 方法概要

      所有方法 实例方法 具体方法 
      修饰符和类型 方法 说明
      int copy​(java.io.OutputStream out)
      全部字节流复制到out
      int copy​(java.io.OutputStream out, int limit)
      复制字节流到out, 大于maxBytes或者文件末尾停止
      UploadFileHeader getLastHeader()  
      boolean isBoundary​(byte b)  
      byte[] readBoundary()
      输入流中读取边界
      byte readByte()
      读取byte字节流,在末尾抛出异常
      UploadFileHeader readDataHeader​(java.lang.String encoding)
      从流中读取文件头部信息, 如果达到末尾则返回null
      protected java.lang.String readDataHeaderString​(java.lang.String encoding)  
      void skipBytes​(int i)
      跳过指定位数的 bytes.
      int skipToBoundary()
      跳过边界表示
      • 从类继承的方法 java.io.BufferedInputStream

        available, close, mark, markSupported, read, read, reset, skip
      • 从类继承的方法 java.io.FilterInputStream

        read
      • 从类继承的方法 java.io.InputStream

        nullInputStream, readAllBytes, readNBytes, readNBytes, transferTo
      • 从类继承的方法 java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 字段详细资料

      • boundary

        protected byte[] boundary
        part部分边界
    • 构造器详细资料

      • MultipartRequestInputStream

        public MultipartRequestInputStream​(java.io.InputStream in)
    • 方法详细资料

      • readByte

        public byte readByte()
                      throws java.io.IOException
        读取byte字节流,在末尾抛出异常
        返回:
        byte
        抛出:
        java.io.IOException - IO异常
      • skipBytes

        public void skipBytes​(int i)
                       throws java.io.IOException
        跳过指定位数的 bytes.
        参数:
        i - 跳过的byte数
        抛出:
        java.io.IOException - IO异常
      • readBoundary

        public byte[] readBoundary()
                            throws java.io.IOException
        输入流中读取边界
        返回:
        边界
        抛出:
        java.io.IOException - IO异常
      • readDataHeader

        public UploadFileHeader readDataHeader​(java.lang.String encoding)
                                        throws java.io.IOException
        从流中读取文件头部信息, 如果达到末尾则返回null
        参数:
        encoding - 字符集
        返回:
        头部信息, 如果达到末尾则返回null
        抛出:
        java.io.IOException - IO异常
      • readDataHeaderString

        protected java.lang.String readDataHeaderString​(java.lang.String encoding)
                                                 throws java.io.IOException
        抛出:
        java.io.IOException
      • copy

        public int copy​(java.io.OutputStream out)
                 throws java.io.IOException
        全部字节流复制到out
        参数:
        out - 输出流
        返回:
        复制的字节数
        抛出:
        java.io.IOException - IO异常
      • copy

        public int copy​(java.io.OutputStream out,
                        int limit)
                 throws java.io.IOException
        复制字节流到out, 大于maxBytes或者文件末尾停止
        参数:
        out - 输出流
        limit - 最大字节数
        返回:
        复制的字节数
        抛出:
        java.io.IOException - IO异常
      • skipToBoundary

        public int skipToBoundary()
                           throws java.io.IOException
        跳过边界表示
        返回:
        跳过的字节数
        抛出:
        java.io.IOException - IO异常
      • isBoundary

        public boolean isBoundary​(byte b)
                           throws java.io.IOException
        参数:
        b - byte
        返回:
        是否为边界的标志
        抛出:
        java.io.IOException - IO异常