org.apache.struts.upload
クラス BufferedMultipartInputStream

java.lang.Object
  |
  +--java.io.InputStream
        |
        +--org.apache.struts.upload.BufferedMultipartInputStream

public class BufferedMultipartInputStream
extends java.io.InputStream

このクラスは readLine() メソッドのように InputStream のバッファリングを行います。 より信頼性の高い readLine() メソッドを提供することを目的としています。


フィールドの概要
protected  byte[] buffer
          バッファされたデータを保持するためのバイト配列。
protected  int bufferLength
          配下の InputStream からバッファに読み込んだバイト数。
protected  int bufferOffset
          バッファのバイト配列内おける現在位置。
protected  int bufferSize
          バッファのバイト配列のサイズ。
protected  long contentLength
          マルチパートデータのコンテント長。
protected  boolean contentLengthMet
          Content-Length のバイト数まで読んだかどうか。
protected  java.io.InputStream inputStream
          このクラスによって使用される、配下の InputStream。
protected  boolean maxLengthMet
          最大バイト長まで読んだかどうか。
protected  long maxSize
          許容されるマルチパートデータの最大サイズ、-1 を指定することでファイルの大きさを無制限にします。
protected  int totalLength
          これまでに読み込んだバイト数の合計。
 
クラス java.io.InputStream から継承したフィールド
 
コンストラクタの概要
BufferedMultipartInputStream(java.io.InputStream inputStream, int bufferSize, long contentLength, long maxSize)
          このクラスの公開コンストラクタであり、与えられた InputStream をラップするだけのもの。
 
メソッドの概要
 int available()
          再充填されるまでに、読み込みに利用できるバッファの残りのバイト数を返します。
 void close()
          このメソッドは、配下の InputStream のクローズを試みます。
 boolean contentLengthMet()
           
protected  void fill()
          配下の InputStream のデータをバッファへ充填します。
 void mark(int position)
          このメソッドは、配下の InputStream の mark() メソッドを呼び出します。
 boolean markSupported()
          このメソッドは、配下の InputStream の markSupported() メソッドを呼び出します。
 boolean maxLengthMet()
           
 int read()
          バッファ内の次のバイトを返し、必要であれば再充填します。
 int read(byte[] b)
          このメソッドは、 b バイト配列へ b.length バイトまでのデータを移します。
 int read(byte[] b, int offset, int length)
          このメソッドは、 b バイト配列から b[offset] を開始位置として length バイトまでのデータを移します。
 byte[] readLine()
          このメソッドは、長さを意識せずに一行分、読み込みます。
 int readLine(byte[] b, int offset, int length)
          このメソッドは、 改行 ('\n') 文字を検出するか length で指定したバイト数を読み込むまで b バイト配列へ読み込みます。
 void reset()
          このメソッドは、配下の InputStream の reset() メソッドを呼び出します。
 
クラス java.io.InputStream から継承したメソッド
skip
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

inputStream

protected java.io.InputStream inputStream
このクラスによって使用される、配下の InputStream。


buffer

protected byte[] buffer
バッファされたデータを保持するためのバイト配列。


bufferOffset

protected int bufferOffset
バッファのバイト配列内おける現在位置。


bufferSize

protected int bufferSize
バッファのバイト配列のサイズ。


bufferLength

protected int bufferLength
配下の InputStream からバッファに読み込んだバイト数。


totalLength

protected int totalLength
これまでに読み込んだバイト数の合計。


contentLength

protected long contentLength
マルチパートデータのコンテント長。


maxSize

protected long maxSize
許容されるマルチパートデータの最大サイズ、-1 を指定することでファイルの大きさを無制限にします。


contentLengthMet

protected boolean contentLengthMet
Content-Length のバイト数まで読んだかどうか。


maxLengthMet

protected boolean maxLengthMet
最大バイト長まで読んだかどうか。

コンストラクタの詳細

BufferedMultipartInputStream

public BufferedMultipartInputStream(java.io.InputStream inputStream,
                                    int bufferSize,
                                    long contentLength,
                                    long maxSize)
                             throws java.io.IOException
このクラスの公開コンストラクタであり、与えられた InputStream をラップするだけのもの。

パラメータ:
inputStream - read の対象となる配下のストリーム
bufferSize - 内部バッファのバイトサイズ
contentLength - 当該リクエストのコンテント長
maxSize - マルチパートリクエストの最大バイトサイズ、 -1を指定すると長さが無制限になります
メソッドの詳細

available

public int available()
再充填されるまでに、読み込みに利用できるバッファの残りのバイト数を返します。

オーバーライド:
クラス java.io.InputStream 内の available

close

public void close()
           throws java.io.IOException
このメソッドは、配下の InputStream のクローズを試みます。

オーバーライド:
クラス java.io.InputStream 内の close
java.io.IOException

mark

public void mark(int position)
このメソッドは、配下の InputStream の mark() メソッドを呼び出します。

オーバーライド:
クラス java.io.InputStream 内の mark

markSupported

public boolean markSupported()
このメソッドは、配下の InputStream の markSupported() メソッドを呼び出します。

オーバーライド:
クラス java.io.InputStream 内の markSupported
戻り値:
配下の InputStream がマーキングをサポートしているかどうか

maxLengthMet

public boolean maxLengthMet()
戻り値:
最大長に達した場合は true 、そうでない場合は false

contentLengthMet

public boolean contentLengthMet()
戻り値:
コンテント長に達した場合は true 、そうでない場合は false

read

public int read()
         throws java.io.IOException
バッファ内の次のバイトを返し、必要であれば再充填します。

定義:
クラス java.io.InputStream 内の read
戻り値:
バッファ内に読み込んだ次のバイト、 またはストリームの終端に到達した場合の-1
java.io.IOException

read

public int read(byte[] b)
         throws java.io.IOException
このメソッドは、 b バイト配列へ b.length バイトまでのデータを移します。

オーバーライド:
クラス java.io.InputStream 内の read
java.io.IOException

read

public int read(byte[] b,
                int offset,
                int length)
         throws java.io.IOException
このメソッドは、 b バイト配列から b[offset] を開始位置として length バイトまでのデータを移します。

オーバーライド:
クラス java.io.InputStream 内の read
java.io.IOException

readLine

public int readLine(byte[] b,
                    int offset,
                    int length)
             throws java.io.IOException
このメソッドは、 改行 ('\n') 文字を検出するか length で指定したバイト数を読み込むまで b バイト配列へ読み込みます。

java.io.IOException

readLine

public byte[] readLine()
                throws java.io.IOException
このメソッドは、長さを意識せずに一行分、読み込みます。

戻り値:
一行分のバイト配列
java.io.IOException

reset

public void reset()
           throws java.io.IOException
このメソッドは、配下の InputStream の reset() メソッドを呼び出します。

オーバーライド:
クラス java.io.InputStream 内の reset
java.io.IOException

fill

protected void fill()
             throws java.io.IOException
配下の InputStream のデータをバッファへ充填します。 一度の読み込みでバッファ全体を満たせない場合は、バッファが一杯になるまで read が複数回、試行されます

java.io.IOException


このドキュメントは、Ja-Jakartaにより訳されました。コメントがある場合は、report@jajakarta.orgまでお願いします。
Copyright (C) 2000-2002 - Apache Software Foundation