所有类


javax.imageio.stream
接口 ImageOutputStream

所有超级接口:
DataInput, DataOutput, ImageInputStream
所有已知实现类:
FileCacheImageOutputStream, FileImageOutputStream, ImageOutputStreamImpl, MemoryCacheImageOutputStream

public interface ImageOutputStream
   
   
   
   
   
extends ImageInputStream, DataOutput

ImageWriter 使用的可查找输出流接口。各种输出目标(如 OutputStreamFile 以及将来的快速 I/O 目标)都可以通过此接口的恰当实现进行“包装”,供 Image I/O API 使用。

与标准 OutputStream 不同的是,ImageOutputStream 扩展其对应方 ImageInputStream。因此它能够在对流进行写入的同时从该流进行读取。读取操作和写入操作使用相同的查找和刷新位置,尽管在字节定位写入前处理非零位偏移量的语义有必要不同于字节定位读取前处理非零位偏移量的语义。读取字节时,任何位偏移量在读取前都被设置为 0;写入字节时,非零的位偏移量导致将字节中的剩余位作为 0 写入。然后,字节定位写入开始于下一个字节位置。

另请参见:
ImageInputStream

方法摘要
 voidflushBefore(long pos)
          刷新给定位置之前所有数据的缓冲并转到基础目标(如 OutputStreamFile)。
 voidwrite(byte[] b)
          将字节序列写入到流中的当前位置。
 voidwrite(byte[] b, int off, int len)
          将字节序列写入到流中的当前位置。
 voidwrite(int b)
          将单个字节写入到流中的当前位置。
 voidwriteBit(int bit)
          将单个位(由参数的最低有效位给定)写入到流的当前字节位置中的当前位偏移量。
 voidwriteBits(long bits, int numBits)
          将一个位序列(由 bits 参数的 numBits 个最低有效位按从左到右的顺序给定)写入到流的当前字节位置中的当前位偏移量。
 voidwriteBoolean(boolean v)
          将一个 boolean 值写入到流中。
 voidwriteByte(int v)
          将 v 的 8 个低位写入到流中。
 voidwriteBytes(String s)
          将一个字符串写入输出流。
 voidwriteChar(int v)
          此方法与 writeShort 同义。
 voidwriteChars(char[] c, int off, int len)
          将 char 序列写入到流中的当前位置。
 voidwriteChars(String s)
          将一个字符串写入输出流。
 voidwriteDouble(double v)
          将一个 double 值写入输出流,该值由四个字节组成。
 voidwriteDoubles(double[] d, int off, int len)
          将 double 序列写入到流中的当前位置。
 voidwriteFloat(float v)
          将一个 float 值写入输出流,该值由四个字节组成。
 voidwriteFloats(float[] f, int off, int len)
          将 float 序列写入到流中的当前位置。
 voidwriteInt(int v)
          将 v 的 32 个位写入到流中。
 voidwriteInts(int[] i, int off, int len)
          将 int 序列写入到流中的当前位置。
 voidwriteLong(long v)
          将 v 的 64 个位写入到流中。
 voidwriteLongs(long[] l, int off, int len)
          将 long 序列写入到流中的当前位置。
 voidwriteShort(int v)
          将 v 的 16 个低位写入到流中。
 voidwriteShorts(short[] s, int off, int len)
          将 short 序列写入到流中的当前位置。
 voidwriteUTF(String s)
          将表示长度信息的两个字节按网络字节顺序写入输出流,后跟字符串 s 中每个字符的 UTF-8 修改版表示形式。
 
从接口 javax.imageio.stream.ImageInputStream 继承的方法
close, flush, getBitOffset, getByteOrder, getFlushedPosition, getStreamPosition, isCached, isCachedFile, isCachedMemory, length, mark, read, read, read, readBit, readBits, readBoolean, readByte, readBytes, readChar, readDouble, readFloat, readFully, readFully, readFully, readFully, readFully, readFully, readFully, readFully, readInt, readLine, readLong, readShort, readUnsignedByte, readUnsignedInt, readUnsignedShort, readUTF, reset, seek, setBitOffset, setByteOrder, skipBytes, skipBytes
 

方法详细信息

write

void write(int b)
           throws IOException
将单个字节写入到流中的当前位置。b 的 24 个高位将被忽略。

如果流中的位偏移量不为零,则首先将当前字节的余项用 0 填充并将其写出。写出后位偏移量将为 0。实现方可使用 ImageOutputStreamImplflushBits 方法来保证这一点。

指定者:
接口 DataOutput 中的 write
参数:
b - 一个 int,其低 8 位将被写入。
抛出:
IOException - 如果发生 I/O 错误。

write

void write(byte[] b)
           throws IOException
将字节序列写入到流中的当前位置。如果 b.length 为 0,则不写入任何字节。首先写入字节 b[0],然后写入字节 b[1],依此类推。

如果流中的位偏移量不为零,则首先将当前字节的余项用 0 填充并将其写出。写出后位偏移量将为 0。

指定者:
接口 DataOutput 中的 write
参数:
b - 要写入的 byte 数组。
抛出:
NullPointerException - 如果 bnull
IOException - 如果发生 I/O 错误。

write

void write(byte[] b,
           int off,
           int len)
           throws IOException
将字节序列写入到流中的当前位置。如果 len 为 0,则不写入任何字节。首先写入字节 b[off],然后写入字节 b[off + 1],依此类推。

如果流中的位偏移量不为零,则首先将当前字节的余项用 0 填充并将其写出。写出后位偏移量将为 0。实现方可使用 ImageOutputStreamImplflushBits 方法来保证这一点。

指定者:
接口 DataOutput 中的 write
参数:
b - 要写入的 byte 数组。
off - 数据中的初始偏移量。
len - 要写入的 byte 数。
抛出:
IndexOutOfBoundsException - 如果 off 为负、len 为负或者 off + len 大于 b.length
NullPointerException - 如果 bnull
IOException - 如果发生 I/O 错误。

writeBoolean

void writeBoolean(boolean v)
                  throws IOException
将一个 boolean 值写入到流中。如果 v 为 true,则写入值 (byte)1;如果 v 为 false,则写入值 (byte)0

如果流中的位偏移量不为零,则首先将当前字节的余项用 0 填充并将其写出。写出后位偏移量将为 0。

指定者:
接口 DataOutput 中的 writeBoolean
参数:
v - 要写入的 boolean 值。
抛出:
IOException - 如果发生 I/O 错误。

writeByte

void writeByte(int v)
               throws IOException
v 的 8 个低位写入到流中。忽略 v 的 24 个高位。(这意味着 writeByte 的作用与使用整数做参数的 write 完全相同。)

如果流中的位偏移量不为零,则首先将当前字节的余项用 0 填充并将其写出。写出后位偏移量将为 0。

指定者:
接口 DataOutput 中的 writeByte
参数:
v - 一个 int,包含要写入的 byte 值。
抛出:
IOException - 如果发生 I/O 错误。

writeShort

void writeShort(int v)
                throws IOException
v 的 16 个低位写入到流中。忽略 v 的 16 个高位。如果流使用网络字节顺序,则写入的字节将依次为:
(byte)((v >> 8) & 0xff)
 (byte)(v & 0xff)
 
否则,写入的字节将为:
 (byte)(v & 0xff)
(byte)((v >> 8) & 0xff)
 

如果流中的位偏移量不为零,则首先将当前字节的余项用 0 填充并将其写出。写出后位偏移量将为 0。

指定者:
接口 DataOutput 中的 writeShort
参数:
v - 一个 int,包含要写入的 short 值。
抛出:
IOException - 如果发生 I/O 错误。

writeChar

void writeChar(int v)
               throws IOException
此方法与 writeShort 同义。

指定者:
接口 DataOutput 中的 writeChar
参数:
v - 一个 int,它包含要写入的 char(无符号 short)值。
抛出:
IOException - 如果发生 I/O 错误。
另请参见:
writeShort(int)