com.oreilly.servlet.multipart
类 BufferedServletInputStream

java.lang.Object
  继承者 java.io.InputStream
      继承者 javax.servlet.ServletInputStream
          继承者 com.oreilly.servlet.multipart.BufferedServletInputStream
所有已实现的接口:
Closeable

public class BufferedServletInputStream
extends javax.servlet.ServletInputStream

A BufferedServletInputStream wraps a ServletInputStream in order to provide input buffering and to avoid calling the the readLine method of the wrapped ServletInputStream.

This is necessary because some servlet containers rely on the default implementation of the readLine method provided by the Servlet API classes, which is very slow. Tomcat 3.2, Tomcat 3.1, the JSWDK 1.0 web server and the JSDK2.1 web server are all known to need this class for performance reasons.

Also, it may be used to work around a bug in the Servlet API 2.0 implementation of readLine which contains a bug that causes ArrayIndexOutOfBoundsExceptions under certain conditions. Apache JServ is known to suffer from this bug.

版本:
1.1, 2001/05/21, removed block of commented out code, 1.0, 2000/10/27, initial revision
作者:
Geoff Soutter

构造方法摘要
BufferedServletInputStream(javax.servlet.ServletInputStream in)
          Creates a BufferedServletInputStream that wraps the provided ServletInputStream.
 
方法摘要
 int read()
          Implement buffering on top of the read method of the wrapped ServletInputStream.
 int read(byte[] b, int off, int len)
          Implement buffering on top of the read method of the wrapped ServletInputStream.
 int readLine(byte[] b, int off, int len)
          Implement buffering on top of the readLine method of the wrapped ServletInputStream.
 
从类 java.io.InputStream 继承的方法
available, close, mark, markSupported, read, reset, skip
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

BufferedServletInputStream

public BufferedServletInputStream(javax.servlet.ServletInputStream in)
Creates a BufferedServletInputStream that wraps the provided ServletInputStream.

参数:
in - a servlet input stream.
方法详细信息

readLine

public int readLine(byte[] b,
                    int off,
                    int len)
             throws IOException
Implement buffering on top of the readLine method of the wrapped ServletInputStream.

覆盖:
javax.servlet.ServletInputStream 中的 readLine
参数:
b - an array of bytes into which data is read.
off - an integer specifying the character at which this method begins reading.
len - an integer specifying the maximum number of bytes to read.
返回:
an integer specifying the actual number of bytes read, or -1 if the end of the stream is reached.
抛出:
IOException - if an I/O error occurs.

read

public int read()
         throws IOException
Implement buffering on top of the read method of the wrapped ServletInputStream.

指定者:
InputStream 中的 read
返回:
the next byte of data, or -1 if the end of the stream is reached.
抛出:
IOException - if an I/O error occurs.

read

public int read(byte[] b,
                int off,
                int len)
         throws IOException
Implement buffering on top of the read method of the wrapped ServletInputStream.

覆盖:
InputStream 中的 read
参数:
b - the buffer into which the data is read.
off - the start offset of the data.
len - the maximum number of bytes read.
返回:
the total number of bytes read into the buffer, or -1 if there is no more data because the end of the stream has been reached.
抛出:
IOException - if an I/O error occurs.


Copyright © 2013. All Rights Reserved.