|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
java.lang.Objectjavax.imageio.stream.ImageInputStreamImpl
javax.imageio.stream.ImageOutputStreamImpl
public abstract class ImageOutputStreamImpl
实现 ImageOutputStream 接口的抽象类。此类设计用于减少必须由子类实现的方法数。
| 字段摘要 |
|---|
| 从类 javax.imageio.stream.ImageInputStreamImpl 继承的字段 |
|---|
bitOffset, byteOrder, flushedPos, streamPos |
| 构造方法摘要 | |
|---|---|
ImageOutputStreamImpl()
构造一个 ImageOutputStreamImpl。 |
|
| 方法摘要 | |
|---|---|
protected void |
flushBits()
如果位偏移量为非零,则将当前字节中的剩余位强制归 0,并将流位置前移一个字节。 |
void |
write(byte[] b)
将字节序列写入到流中的当前位置。 |
abstract void |
write(byte[] b,
int off,
int len)
将字节序列写入到流中的当前位置。 |
abstract void |
write(int b)
将单个字节写入到流中的当前位置。 |
void |
writeBit(int bit)
将单个位(由参数的最低有效位给定)写入到流的当前字节位置中的当前位偏移量。 |
void |
writeBits(long bits,
int numBits)
将一个位序列(由 bits 参数的 numBits 个最低有效位按从左到右的顺序给定)写入到流的当前字节位置中的当前位偏移量。 |
void |
writeBoolean(boolean v)
将一个 boolean 值写入到流中。 |
void |
writeByte(int v)
将 v 的 8 个低位写入到流中。 |
void |
writeBytes(String s)
将一个字符串写入输出流。 |
void |
writeChar(int v)
此方法与 同义。 |
void |
writeChars(char[] c,
int off,
int len)
将 char 序列写入到流中的当前位置。 |
void |
writeChars(String s)
将一个字符串写入输出流。 |
void |
writeDouble(double v)
将一个 double 值写入输出流,该值由四个字节组成。 |
void |
writeDoubles(double[] d,
int off,
int len)
将 double 序列写入到流中的当前位置。 |
void |
writeFloat(float v)
将一个 float 值(由四个字节组成)写入输出流。 |
void |
writeFloats(float[] f,
int off,
int len)
将 float 序列写入到流中的当前位置。 |
void |
writeInt(int v)
将 v 的 32 个位写入到流中。 |
void |
writeInts(int[] i,
int off,
int len)
将 int 序列写入到流中的当前位置。 |
void |
writeLong(long v)
将 v 的 64 个位写入到流中。 |
void |
writeLongs(long[] l,
int off,
int len)
将 long 序列写入到流中的当前位置。 |
void |
writeShort(int v)
将 v 的 16 个低位写入到流中。 |
void |
writeShorts(short[] s,
int off,
int len)
将 short 序列写入到流中的当前位置。 |
void |
writeUTF(String s)
将表示长度信息的两个字节按网络字节顺序写入输出流,后跟字符串 s 中每个字符的 UTF-8 修改版表示形式。 |
| 从类 javax.imageio.stream.ImageInputStreamImpl 继承的方法 |
|---|
checkClosed, close, finalize, flush, flushBefore, 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 |
| 从类 java.lang.Object 继承的方法 |
|---|
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| 从接口 javax.imageio.stream.ImageOutputStream 继承的方法 |
|---|
flushBefore |
| 从接口 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 |
| 构造方法详细信息 |
|---|
public ImageOutputStreamImpl()
ImageOutputStreamImpl。
| 方法详细信息 |
|---|
public abstract void write(int b)
throws IOException
ImageOutputStream 复制的描述b 的 24 个高位将被忽略。
如果流中的位偏移量不为零,则首先将当前字节的余项用 0 填充并将其写出。写出后位偏移量将为 0。实现方可使用 的 ImageOutputStreamImpl 方法来保证这一点。
flushBits
DataOutput 中的 writeImageOutputStream 中的 writeb - 一个 int,其低 8 位将被写入。
IOException - 如果发生 I/O 错误。
public void write(byte[] b)
throws IOException
ImageOutputStream 复制的描述b.length 为 0,则不写入任何字节。首先写入字节 b[0],然后写入字节 b[1],依此类推。
如果流中的位偏移量不为零,则首先将当前字节的余项用 0 填充并将其写出。写出后位偏移量将为 0。
DataOutput 中的 writeImageOutputStream 中的 writeb - 要写入的 byte 数组。
IOException - 如果发生 I/O 错误。
public abstract void write(byte[] b,
int off,
int len)
throws IOException
ImageOutputStream 复制的描述len 为 0,则不写入任何字节。首先写入字节 b[off],然后写入字节 b[off + 1],依此类推。
如果流中的位偏移量不为零,则首先将当前字节的余项用 0 填充并将其写出。写出后位偏移量将为 0。实现方可使用 的 ImageOutputStreamImpl 方法来保证这一点。
flushBits
DataOutput 中的 writeImageOutputStream 中的 writeb - 要写入的 byte 数组。off - 数据中的初始偏移量。len - 要写入的 byte 数。
IOException - 如果发生 I/O 错误。
public void writeBoolean(boolean v)
throws IOException
ImageOutputStream 复制的描述boolean 值写入到流中。如果 v 为 true,则写入值 (byte)1;如果 v 为 false,则写入值 (byte)0。
如果流中的位偏移量不为零,则首先将当前字节的余项用 0 填充并将其写出。写出后位偏移量将为 0。
DataOutput 中的 writeBooleanImageOutputStream 中的 writeBooleanv - 要写入的 boolean 值。
IOException - 如果发生 I/O 错误。
public void writeByte(int v)
throws IOException
ImageOutputStream 复制的描述v 的 8 个低位写入到流中。忽略 v 的 24 个高位。(这意味着 writeByte 的作用与使用整数做参数的 write 完全相同。)
如果流中的位偏移量不为零,则首先将当前字节的余项用 0 填充并将其写出。写出后位偏移量将为 0。
DataOutput 中的 writeByteImageOutputStream 中的 writeBytev - 一个 int,包含要写入的 byte 值。
IOException - 如果发生 I/O 错误。
public void writeShort(int v)
throws IOException
ImageOutputStream 复制的描述v 的 16 个低位写入到流中。忽略 v 的 16 个高位。如果流使用网络字节顺序,则写入的字节将依次为:
(byte)((v >> 8) & 0xff) (byte)(v & 0xff)否则,写入的字节将为:
(byte)(v & 0xff) (byte)((v >> 8) & 0xff)
如果流中的位偏移量不为零,则首先将当前字节的余项用 0 填充并将其写出。写出后位偏移量将为 0。
DataOutput 中的 writeShortImageOutputStream 中的 writeShortv - 一个 int,包含要写入的 short 值。
IOException - 如果发生 I/O 错误。
public void writeChar(int v)
throws IOException
ImageOutputStream 复制的描述writeShort 同义。
DataOutput 中的 writeCharImageOutputStream 中的 writeCharv - 一个 int,它包含要写入的 char(无符号 short)值。
IOException - 如果发生 I/O 错误。ImageOutputStream.writeShort(int)
public void writeInt(int v)
throws IOException
ImageOutputStream 复制的描述v 的 32 个位写入到流中。如果流使用网络字节顺序,则写入的字节将依次为:
(byte)((v >> 24) & 0xff) (byte)((v >> 16) & 0xff) (byte)((v >> 8) & 0xff) (byte)(v & 0xff)否则,写入的字节将为:
(byte)(v & 0xff) (byte)((v >> 8) & 0xff) (byte)((v >> 16) & 0xff) (byte)((v >> 24) & 0xff)
如果流中的位偏移量不为零,则首先将当前字节的余项用 0 填充并将其写出。写出后位偏移量将为 0。
DataOutput 中的 writeIntImageOutputStream 中的 writeIntv - 一个 int,它包含要写入的值。
IOException - 如果发生 I/O 错误。
public void writeLong(long v)
throws IOException
ImageOutputStream 复制的描述v 的 64 个位写入到流中。如果流使用网络字节顺序,则写入的字节将依次为:
(byte)((v >> 56) & 0xff) (byte)((v >> 48) & 0xff) (byte)((v >> 40) & 0xff) (byte)((v >> 32) & 0xff) (byte)((v >> 24) & 0xff) (byte)((v >> 16) & 0xff) (byte)((v >> 8) & 0xff) (byte)(v & 0xff)否则,写入的字节将为:
(byte)(v & 0xff) (byte)((v >> 8) & 0xff) (byte)((v >> 16) & 0xff) (byte)((v >> 24) & 0xff) (byte)((v >> 32) & 0xff) (byte)((v >> 40) & 0xff) (byte)((v >> 48) & 0xff) (byte)((v >> 56) & 0xff)
如果流中的位偏移量不为零,则首先将当前字节的余项用 0 填充并将其写出。写出后位偏移量将为 0。
DataOutput 中的 writeLongImageOutputStream 中的 writeLongv - 一个 long,它包含要写入的值。
IOException - 如果发生 I/O 错误。
public void writeFloat(float v)
throws IOException
ImageOutputStream 复制的描述float 值(由四个字节组成)写入输出流。实现方式是:首先使用与 Float.floatToIntBits 方法完全相同的方式将此 float 值转换为一个 int 值,然后使用与 writeInt 方法完全相同的方式写入该 int 值。
如果流中的位偏移量不为零,则首先将当前字节的余项用 0 填充并将其写出。写出后位偏移量将为 0。
DataOutput 中的 writeFloatImageOutputStream 中的 writeFloatv - 一个 float,它包含要写入的值。
IOException - 如果发生 I/O 错误。
public void writeDouble(double v)
throws IOException
ImageOutputStream 复制的描述double 值写入输出流,该值由四个字节组成。实现这一点的方式是:首先使用与 Double.doubleToLongBits 方法相同的方式将此 double 值转换为一个 long 值,然后使用与 writeLong 方法完全相同的方式写入该 long 值。
如果流中的位偏移量不为零,则首先将当前字节的余项用 0 填充并将其写出。写出后位偏移量将为 0。
DataOutput 中的 writeDoubleImageOutputStream 中的 writeDoublev - 一个 double,它包含要写入的值。
IOException - 如果发生 I/O 错误。
public void writeBytes(String s)
throws IOException
ImageOutputStream 复制的描述s 中的每一个字符被依次写入输出流,每个字符用一个字节表示。如果 s 为 null,则抛出 NullPointerException。
如果 s.length 为零,则不写入任何字节。否则,首先写入字符 s[0],然后写入字符 s[1],依此类推;最后一个写入字符是 s[s.length-1]。对于每个字符,将使用与 writeByte 方法完全相同的方式把字符的低位写入一个低位字节。字符串中每个字符的八个高位将被忽略。
如果流中的位偏移量不为零,则首先将当前字节的余项用 0 填充并将其写出。写出后位偏移量将为 0。
DataOutput 中的 writeBytesImageOutputStream 中的 writeBytess - 一个 String,它包含要写入的值。
IOException - 如果发生 I/O 错误。
public void writeChars(String s)
throws IOException
ImageOutputStream 复制的描述s 中的每个字符将根据当前字节顺序设置依次写入输出流,每个字符用两个字节表示。如果使用网络字节顺序,则首先写入高位字节;否则相反。如果 s 为 null,则抛出 NullPointerException。
如果 s.length 为零,则不写入字节。否则,首先写入字符 s[0],然后写入字符 s[1],依此类推;最后一个写入字符是 s[s.length-1]。
如果流中的位偏移量不为零,则首先将当前字节的余项用 0 填充并将其写出。写出后位偏移量将为 0。
DataOutput 中的 writeCharsImageOutputStream 中的 writeCharss - 一个 String,它包含要写入的值。
IOException - 如果发生 I/O 错误。
public void writeUTF(String s)
throws IOException
ImageOutputStream 复制的描述s 中每个字符的 UTF-8 修改版表示形式。如果 s 为 null,则抛出 NullPointerException。根据字符的值,将字符串 s 中每个字符转换成一个字节、两个字节或三个字节的字节组。
如果字符 c 在 \u0001 到 \u007f 的范围内,则用一个字节表示:
(byte)(b)
如果字符 c 是 \u0000 或者它在 \u0080 到 \u07ff 的范围内,则用两个字节表示,写入顺序如下:
(byte)(0xc0 | (0x1f & (c >> 6)))
(byte)(0x80 | (0x3f & c))
如果字符 c 在 \u0800 到 \uffff 的范围内,则用三个字节表示,写入顺序如下:
(byte)(0xe0 | (0x0f & (c >> 12)))
(byte)(0x80 | (0x3f & (c >> 6)))
(byte)(0x80 | (0x3f & c))
首先,要计算表示 s 中所有字符所需的字节总数。如果总数大于 65535,则抛出 UTFDataFormatException。否则,使用与 writeShort 方法完全相同的方式将此长度写入输出流,然后写入字符串 s 中所有字符的 1 字节、2 字节或 3 字节表示形式。
忽略当前字节顺序设置。
如果流中的位偏移量不为零,则首先将当前字节的余项用 0 填充并将其写出。写出后位偏移量将为 0。
注:使用标准 UTF-8 图像格式的实现不应该使用此方法,因为此处使用的 UTF-8 修改版与标准 UTF-8 不兼容。
DataOutput 中的 writeUTFImageOutputStream 中的 writeUTFs - 一个 String,它包含要写入的值。
UTFDataFormatException - 如果 s 的 UTF-8 修改版表示形式要求的字节数大于 65536。
IOException - 如果发生 I/O 错误。
public void writeShorts(short[] s,
int off,
int len)
throws IOException
ImageOutputStream 复制的描述len 为 0,则不写入任何字节。首先写入 short s[off],然后写入 short s[off + 1],依此类推。流的字节顺序用来确定写入各个字节的顺序。
如果流中的位偏移量不为零,则首先将当前字节的余项用 0 填充并将其写出。写出后位偏移量将为 0。
ImageOutputStream 中的 writeShortss - 要写入的 short 数组。off - 数据中的初始偏移量。len - 要写入的 short 数。
IOException - 如果发生 I/O 错误。
public void writeChars(char[] c,
int off,
int len)
throws IOException
ImageOutputStream 复制的描述len 为 0,则不写入任何字节。首先写入 char c[off],然后写入 char c[off + 1],依此类推。流的字节顺序用来确定写入个别字节的顺序。
如果流中的位偏移量不为零,则首先将当前字节的余项用 0 填充并将其写出。写出后位偏移量将为 0。
ImageOutputStream 中的 writeCharsc - 要写入的 char 数组。off - 数据中的初始偏移量。len - 要写入的 char 数。
IOException - 如果发生 I/O 错误。
public void writeInts(int[] i,
int off,
int len)
throws IOException
ImageOutputStream 复制的描述len 为 0,则不写入任何字节。首先写入 int i[off],然后写入 int i[off + 1],依此类推。流的字节顺序用来确定写入个别字节的顺序。
如果流中的位偏移量不为零,则首先将当前字节的余项用 0 填充并将其写出。写出后位偏移量将为 0。
ImageOutputStream 中的 writeIntsi - 要写入的 int 数组。off - 数据中的初始偏移量。len - 要写入的 int 数。
IOException - 如果发生 I/O 错误。
public void writeLongs(long[] l,
int off,
int len)
throws IOException
ImageOutputStream 复制的描述len 为 0,则不写入任何字节。首先写入 long l[off],然后写入 long l[off + 1],依此类推。流的字节顺序用来确定写入个别字节的顺序。
如果流中的位偏移量不为零,则首先将当前字节的余项用 0 填充并将其写出。写出后位偏移量将为 0。
ImageOutputStream 中的 writeLongsl - 要写入的 long 数组。off - 数据中的初始偏移量。len - 要写入的 long 数。
IOException - 如果发生 I/O 错误。
public void writeFloats(float[] f,
int off,
int len)
throws IOException
ImageOutputStream 复制的描述len 为 0,则不写入任何字节。首先写入 float f[off],然后写入 float f[off + 1],依此类推。流的字节顺序用来确定写入个别字节的顺序。
如果流中的位偏移量不为零,则首先将当前字节的余项用 0 填充并将其写出。写出后位偏移量将为 0。
ImageOutputStream 中的 writeFloatsf - 要写入的 float 数组。off - 数据中的初始偏移量。len - 要写入的 float 数。
IOException - 如果发生 I/O 错误。
public void writeDoubles(double[] d,
int off,
int len)
throws IOException
ImageOutputStream 复制的描述len 为 0,则不写入任何字节。首先写入 double d[off],然后写入 double d[off + 1],依此类推。流的字节顺序用来确定写入个别字节的顺序。
如果流中的位偏移量不为零,则首先将当前字节的余项用 0 填充并将其写出。写出后位偏移量将为 0。
ImageOutputStream 中的 writeDoublesd - 要写入的 double 数组。off - 数据中的初始偏移量。len - 要写入的 double 数。
IOException - 如果发生 I/O 错误。
public void writeBit(int bit)
throws IOException
ImageOutputStream 复制的描述如果在刷新某个字节的缓冲并转送到目标时一直没有设置过该字节的某些位,则这些位将被自动设置为 0。
ImageOutputStream 中的 writeBitbit - 一个 int,其最低有效位将被写入到流中。
IOException - 如果发生 I/O 错误。
public void writeBits(long bits,
int numBits)
throws IOException
ImageOutputStream 复制的描述bits 参数的 numBits 个最低有效位按从左到右的顺序给定)写入到流的当前字节位置中的当前位偏移量。忽略参数的高 64 - numBits 位。位偏移量将加 numBits 并减少模数 8。注意,位偏移量 0 总是指示字节的最高有效位,位字节按照遇到它们的顺序依次被写入。因此以网络字节顺序进行位的写入总是有效的。忽略实际流字节顺序设置。
在调用 flushBefore 之前,位数据可以在内存中无限累积。调用时将写入刷新位置之前的所有位数据。
如果在刷新字节缓冲并转到目标时特定字节的某些位一直没有被设置,则这些位将自动设置为 0。
ImageOutputStream 中的 writeBitsbits - 一个 long,它包含要写入的位(从 numBits - 1 开始下至最低有效位)。numBits - 一个 0 到 64 之间(包括两者)的 int。
IOException - 如果发生 I/O 错误。
protected final void flushBits()
throws IOException
write(int) 和 write(byte[], int, int) 方法时应该调用此方法。
IOException - 如果发生 I/O 错误。
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。