パッケージ jakarta.mail.util

クラス SharedFileInputStream

  • 実装されたすべてのインターフェース:
    SharedInputStreamCloseableSEAutoCloseableSE

    public class SharedFileInputStream
    extends BufferedInputStreamSE
    implements SharedInputStream
    SharedFileInputStream は、ファイルからのデータをバッファリングし、mark および reset メソッドをサポートする BufferedInputStream です。また、ファイルのサブセットを表す他のストリームを作成できる newStream メソッドもサポートしています。RandomAccessFile オブジェクトは、ファイルデータにアクセスするために使用されます。

    SharedFileInputStream が閉じられると、newStream メソッドで作成されたすべてのストリームも閉じられることに注意してください。これにより、SharedFileInputStream オブジェクトの作成者は、基になるファイルへのアクセスを制御し、必要に応じてファイルが閉じられるようにして、ファイル記述子のリークを回避できます。この動作は SharedInputStream の要件と矛盾し、将来のリリースで変更される可能性があることにも注意してください。

    導入:
    JavaMail 1.4
    作成者:
    Bill Shannon
    • フィールドサマリー

      フィールド  
      修飾子と型 フィールド 説明
      protected longbufpos
      読み取りバッファの最初のバイトに対応するファイルオフセット。
      protected intbufsize
      読み取りバッファの通常のサイズ。
      protected longdatalen
      ファイルのこのサブセット内のデータの量。
      protected RandomAccessFileSEin
      データを含むファイル。
      protected longstart
      ファイルのこのサブセット内のデータの開始のファイルオフセット。
    • コンストラクターのサマリー

      コンストラクター  
      コンストラクター 説明
      SharedFileInputStream​(FileSE file)
      ファイルの SharedFileInputStream を作成します。
      SharedFileInputStream​(FileSE file, int size)
      指定されたバッファサイズで SharedFileInputStream を作成します。
      SharedFileInputStream​(StringSE file)
      名前付きファイルの SharedFileInputStream を作成します
      SharedFileInputStream​(StringSE file, int size)
      指定されたバッファサイズで SharedFileInputStream を作成します。
    • メソッドのサマリー

      すべてのメソッド   インスタンスメソッド   具象メソッド  
      修飾子と型 メソッド 説明
      intavailable()
      この入力ストリームからブロックせずに読み取ることができるバイト数を返します。
      voidclose()
      この入力ストリームを閉じて、ストリームに関連付けられているシステムリソースを解放します。
      protected voidfinalize()
      このストリームを強制的に閉じます。
      longgetPosition()
      InputStream の先頭からのオフセットとして、InputStream の現在の位置を返します。
      voidmark​(int readlimit)
      InputStream の mark メソッドの一般契約を参照してください。
      booleanmarkSupported()
      この入力ストリームが mark および reset メソッドをサポートしているかどうかをテストします。
      InputStreamSEnewStream​(long start, long end)
      この InputStream からのデータのサブセットを表す新しい InputStream を返します。これは、start (包括的)から end (排他的)までです。
      intread()
      InputStream の read メソッドの一般契約を参照してください。
      intread​(byte[] b, int off, int len)
      指定されたオフセットから開始して、このストリームから指定されたバイト配列にバイトを読み取ります。
      voidreset()
      InputStream の reset メソッドの一般契約を参照してください。
      longskip​(long n)
      InputStream の skip メソッドの一般契約を参照してください。
    • フィールドの詳細

      • in

        protected RandomAccessFileSE in
        データを含むファイル。関連するすべての SharedFileInputStreams で共有されます。
      • bufsize

        protected int bufsize
        読み取りバッファの通常のサイズ。
      • bufpos

        protected long bufpos
        読み取りバッファの最初のバイトに対応するファイルオフセット。
      • start

        protected long start
        ファイルのこのサブセット内のデータの開始のファイルオフセット。
      • datalen

        protected long datalen
        ファイルのこのサブセット内のデータの量。
    • コンストラクターの詳細

      • SharedFileInputStream

        public SharedFileInputStream​(FileSE file)
                              throws IOExceptionSE
        ファイルの SharedFileInputStream を作成します。
        パラメーター:
        file - ファイル
        例外:
        IOExceptionSE - ファイルを開くときにエラーが発生した場合
      • SharedFileInputStream

        public SharedFileInputStream​(StringSE file)
                              throws IOExceptionSE
        名前付きファイルの SharedFileInputStream を作成します
        パラメーター:
        file - ファイル
        例外:
        IOExceptionSE - ファイルを開くときにエラーが発生した場合
      • SharedFileInputStream

        public SharedFileInputStream​(FileSE file,
                                     int size)
                              throws IOExceptionSE
        指定されたバッファサイズで SharedFileInputStream を作成します。
        パラメーター:
        file - ファイル
        size - バッファサイズ。
        例外:
        IOExceptionSE - ファイルを開くときにエラーが発生した場合
        IllegalArgumentExceptionSE - サイズ ≤ の場合 0。
      • SharedFileInputStream

        public SharedFileInputStream​(StringSE file,
                                     int size)
                              throws IOExceptionSE
        指定されたバッファサイズで SharedFileInputStream を作成します。
        パラメーター:
        file - ファイル
        size - バッファサイズ。
        例外:
        IOExceptionSE - ファイルを開くときにエラーが発生した場合
        IllegalArgumentExceptionSE - サイズ ≤ の場合 0。
    • メソッドの詳細

      • read

        public int read()
                 throws IOExceptionSE
        InputStream の read メソッドの一般契約を参照してください。
        オーバーライド:
        クラス BufferedInputStreamSEread 
        戻り値:
        データの次のバイト、またはストリームの終わりに達した場合は -1
        例外:
        IOExceptionSE - I/O エラーが発生した場合。
      • read

        public int read​(byte[] b,
                        int off,
                        int len)
                 throws IOExceptionSE
        指定されたオフセットから開始して、このストリームから指定されたバイト配列にバイトを読み取ります。

        このメソッドは、InputStreamSE クラスの対応する readSE メソッドの一般的な契約を実装します。

        オーバーライド:
        クラス BufferedInputStreamSEreadSE 
        パラメーター:
        b - 宛先バッファ。
        off - バイトの格納を開始するオフセット。
        len - 読み取る最大バイト数。
        戻り値:
        読み取られたバイト数、またはストリームの終わりに達した場合は -1
        例外:
        IOExceptionSE - I/O エラーが発生した場合。
      • skip

        public long skip​(long n)
                  throws IOExceptionSE
        InputStream の skip メソッドの一般契約を参照してください。
        オーバーライド:
        クラス BufferedInputStreamSEskipSE 
        パラメーター:
        n - スキップされるバイト数。
        戻り値:
        スキップされた実際のバイト数。
        例外:
        IOExceptionSE - I/O エラーが発生した場合。
      • available

        public int available()
                      throws IOExceptionSE
        この入力ストリームからブロックせずに読み取ることができるバイト数を返します。
        オーバーライド:
        クラス BufferedInputStreamSEavailable 
        戻り値:
        この入力ストリームからブロックせずに読み取ることができるバイト数。
        例外:
        IOExceptionSE - I/O エラーが発生した場合。
      • mark

        public void mark​(int readlimit)
        InputStream の mark メソッドの一般契約を参照してください。
        オーバーライド:
        クラス BufferedInputStreamSEmarkSE 
        パラメーター:
        readlimit - マーク位置が無効になる前に読み取ることができるバイトの最大制限。
        関連事項:
        reset()
      • reset

        public void reset()
                   throws IOExceptionSE
        InputStream の reset メソッドの一般契約を参照してください。

        markpos が -1 の場合(マークが設定されていないか、マークが無効になっている場合)、IOException がスローされます。それ以外の場合、pos は markpos と等しく設定されます。

        オーバーライド:
        クラス BufferedInputStreamSEreset 
        例外:
        IOExceptionSE - このストリームがマークされていない場合、またはマークが無効になっている場合。
        関連事項:
        mark(int)
      • markSupported

        public boolean markSupported()
        この入力ストリームが mark および reset メソッドをサポートしているかどうかをテストします。SharedFileInputStream の markSupported メソッドは true を返します。
        オーバーライド:
        クラス BufferedInputStreamSEmarkSupported 
        戻り値:
        このストリーム型が mark および reset メソッドをサポートするかどうかを示す boolean
        関連事項:
        InputStream.mark(int)SE, InputStream.reset()
      • close

        public void close()
                   throws IOExceptionSE
        この入力ストリームを閉じて、ストリームに関連付けられているシステムリソースを解放します。
        次で指定:
        インターフェース AutoCloseableSEclose 
        次で指定:
        インターフェース CloseableSEclose 
        オーバーライド:
        クラス BufferedInputStreamSEclose 
        例外:
        IOExceptionSE - I/O エラーが発生した場合。
      • getPosition

        public long getPosition()
        InputStream の先頭からのオフセットとして、InputStream の現在の位置を返します。
        次で指定:
        インターフェース SharedInputStreamgetPosition 
        戻り値:
        現在の位置
      • newStream

        public InputStreamSE newStream​(long start,
                                     long end)
        この InputStream からのデータのサブセットを表す新しい InputStream を返します。これは、start (包括的)から end (排他的)までです。start は非負でなければなりません。end が -1 の場合、新しいストリームはこのストリームと同じ場所で終了します。返された InputStream は、SharedInputStream インターフェースも実装します。
        次で指定:
        インターフェース SharedInputStreamnewStream 
        パラメーター:
        start - 開始位置
        end - 終了位置 +1
        戻り値:
        新しいストリーム