モジュール java.desktop
パッケージ javax.imageio.stream

クラスFileImageOutputStream

すべての実装されたインタフェース:
Closeable, DataInput, DataOutput, AutoCloseable, ImageInputStream, ImageOutputStream

public class FileImageOutputStream extends ImageOutputStreamImpl
出力をFileまたはRandomAccessFileに直接書き込むImageOutputStreamの実装です。
  • コンストラクタの詳細

    • FileImageOutputStream

      public FileImageOutputStream(File f) throws FileNotFoundException, IOException
      指定されたFileに書き込むFileImageOutputStreamを構築します。
      パラメータ:
      f - 書込み先のFile
      例外:
      IllegalArgumentException - fnullの場合。
      SecurityException - セキュリティ・マネージャが存在し、ファイルへの書込みアクセスが許可されない場合。
      FileNotFoundException - fが通常のファイルを示さないか、ほかの何らかの理由で読み込みおよび書込み用に開くことができない場合。
      IOException - 入出力エラーが発生した場合。
    • FileImageOutputStream

      public FileImageOutputStream(RandomAccessFile raf)
      指定されたRandomAccessFileに書き込むFileImageOutputStreamを構築します。
      パラメータ:
      raf - 書込み先のRandomAccessFile
      例外:
      IllegalArgumentException - rafnullの場合。
  • メソッドの詳細

    • read

      public int read() throws IOException
      クラスからコピーされた説明: ImageInputStreamImpl
      ストリームから1バイトを読み込み、それを0から255までのintとして返します。 EOFに達すると-1を返します。

      サブクラスでこのメソッドを実装する必要があります。 サブクラス実装で終了する前にストリーム位置を更新します。

      ストリーム内のビット・オフセットは、読込みを行う前に0にリセットする必要があります。

      定義:
      read、インタフェース: ImageInputStream
      定義:
      read、クラス: ImageInputStreamImpl
      戻り値:
      ストリーム内の次のバイトの値。または、EOFに達した場合は-1
      例外:
      IOException - ストリームが閉じられている場合。
    • read

      public int read(byte[] b, int off, int len) throws IOException
      クラスからコピーされた説明: ImageInputStreamImpl
      ストリームから最大lenバイトを読み込み、bにインデックスoffから格納します。 ストリームの終わりに達したためにバイトを読み込めない場合は、-1を返します。

      ストリーム内のビット・オフセットは、読込みを行う前に0にリセットする必要があります。

      サブクラスでこのメソッドを実装する必要があります。 サブクラス実装で終了する前にストリーム位置を更新します。

      定義:
      read、インタフェース: ImageInputStream
      定義:
      read、クラス: ImageInputStreamImpl
      パラメータ:
      b - 書き込まれるバイト配列。
      off - 書込み先のb内の開始位置。
      len - 読み込む最大バイト数。
      戻り値:
      実際に読み込まれたバイト数、またはEOFを示す-1
      例外:
      IOException - 入出力エラーが発生した場合。
    • write

      public void write(int b) throws IOException
      インタフェースからコピーされた説明: ImageOutputStream
      ストリームの現在の位置に1バイト書き込みます。 bの上位24ビットは無視されます。

      ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。 書込み後は、ビット・オフセットは0です。 実装側は、ImageOutputStreamImplflushBitsメソッドを使用してこれを保証できます。

      パラメータ:
      b - 下位8ビットが書き込まれるint
      例外:
      IOException - 入出力エラーが発生した場合。
    • write

      public void write(byte[] b, int off, int len) throws IOException
      インタフェースからコピーされた説明: ImageOutputStream
      バイトのシーケンスをストリームの現在位置に書き込みます。 lenが0の場合、何も書き込みません。 バイトb[off]を最初に書き込み、次にバイトb[off+1]を書き込む、という具合になります。

      ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。 書込み後は、ビット・オフセットは0です。 実装側は、ImageOutputStreamImplflushBitsメソッドを使用してこれを保証できます。

      パラメータ:
      b - 書き込まれるbyte配列。
      off - データの開始オフセット。
      len - 書き込むbyte数。
      例外:
      IOException - 入出力エラーが発生した場合。
    • length

      public long length()
      クラスからコピーされた説明: ImageInputStreamImpl
      ストリームが未知の長さであることを示す-1Lを返します。 サブクラスでこのメソッドをオーバーライドして、実際の長さの情報を指定する必要があります。
      定義:
      length、インタフェース: ImageInputStream
      オーバーライド:
      length、クラス: ImageInputStreamImpl
      戻り値:
      未知の長さを示す -1L
    • seek

      public void seek(long pos) throws IOException
      現在のストリーム位置を設定してビット・オフセットを0にリセットします。 シークでファイルの終わりを通過することは正常であり、EOFExceptionは読込みの場合のみスローされます。 書込みが実行されるまで、ファイル長は増加しません。
      パラメータ:
      pos - 目的のファイル・ポインタ位置を示すlong
      例外:
      IndexOutOfBoundsException - posがフラッシュ位置よりも小さい場合。
      IOException - その他の入出力エラーが発生した場合。
    • close

      public void close() throws IOException
      インタフェースからコピーされた説明: ImageInputStream
      ストリームを閉じます。 閉じたストリームにアクセスしようとすると、IOExceptionがスローされるか不正な動作が実行される場合があります。 このメソッドを呼び出すと、このインタフェースを実装するクラスが、メモリー、ディスク・スペース、またはファイル記述子などのストリームに関連するリソースを解放できます。
      例外:
      IOException - 入出力エラーが発生した場合。
    • finalize

      @Deprecated(since="9") protected void finalize() throws Throwable
      非推奨。
      finalizeメソッドは推奨されていません。 クリーンアップを実行するためにfinalizeをオーバーライドするサブクラスは、代替クリーンアップ・メカニズムを使用し、オーバーライドするfinalizeメソッドを削除するように変更する必要があります。 finalizeメソッドをオーバーライドする場合、実装では、super.finalize()Object.finalize()の説明に従って呼び出されることを明示的に確認する必要があります。 移行オプションの詳細については、Object.finalize()の仕様を参照してください。
      ガベージ・コレクションの前にこのオブジェクトをファイナライズします。 closeメソッドを呼び出して、開いている入力ソースをすべて閉じます。 このメソッドを、アプリケーション・コードから呼び出してはいけません。
      オーバーライド:
      finalize、クラス: ImageInputStreamImpl
      例外:
      Throwable - スーパー・クラスのファイナライズ時にエラーが発生した場合。
      関連項目:
      WeakReference, PhantomReference