接口 DataOutput
来源:互联网 发布:web starter kit 源码 编辑:程序博客网 时间:2024/06/08 06:10
java.io
接口 DataOutput
- 所有已知子接口:
- ImageOutputStream, ObjectOutput
- 所有已知实现类:
- DataOutputStream, FileCacheImageOutputStream, FileImageOutputStream, ImageOutputStreamImpl, MemoryCacheImageOutputStream, ObjectOutputStream, RandomAccessFile
public interface DataOutput
DataOutput
接口用于将数据从任意 Java 基本类型转换为一系列字节,并将这些字节写入二进制流。同时还提供了一个将 String
转换成 UTF-8 修改版格式并写入所得到的系列字节的工具。
对于此接口中写入字节的所有方法,如果由于某种原因无法写入某个字节,则抛出 IOException
。
- 从以下版本开始:
- JDK1.0
void
write(byte[] b)
将数组
b
中的所有字节写入输出流。 void
write(byte[] b, int off, int len)
将数组
b
中的 len
个字节按顺序写入输出流。 void
write(int b)
将参数
b
的八个低位写入输出流。 void
writeBoolean(boolean v)
将一个
boolean
值写入输出流。 void
writeByte(int v)
将参数
v
的八个低位写入输出流。 void
writeBytes(String s)
将一个字符串的每个字符的八个低位写入输出流。
void
writeChar(int v)
将一个
char
值写入输出流,该值由两个字节组成。 void
writeChars(String s)
将字符串
s
中的所有字符按顺序写入输出流,每个字符用两个字节表示。 void
writeDouble(double v)
将一个
double
值写入输出流,该值由八个字节组成。 void
writeFloat(float v)
将一个
float
值写入输出流,该值由四个字节组成。 void
writeInt(int v)
将一个
int
值写入输出流,该值由四个字节组成。 void
writeLong(long v)
将一个
long
值写入输出流,该值由八个字节组成。 void
writeShort(int v)
将两个字节写入输出流,用它们表示参数值。
void
writeUTF(String s)
将表示长度信息的两个字节写入输出流,后跟字符串
s
中每个字符的 UTF-8 修改版表示形式。
write
void write(int b) throws IOException
- 将参数
b
的八个低位写入输出流。忽略b
的 24 个高位。 - 参数:
b
- 要写入的字节。- 抛出:
IOException
- 如果发生 I/O 错误。
write
void write(byte[] b) throws IOException
- 将数组
b
中的所有字节写入输出流。如果b
为null
,则抛出NullPointerException
。如果b.length
为零,则不写入字节。否则,首先写入字节b[0]
,然后写入字节b[1]
,依此类推;最后一个写入字节是b[b.length-1]
。 - 参数:
b
- 数据。- 抛出:
IOException
- 如果发生 I/O 错误。
write
void write(byte[] b, int off, int len) throws IOException
- 将数组
b
中的len
个字节按顺序写入输出流。如果b
为null
,则抛出NullPointerException
。如果off
为负,或len
为负,抑或off+len
大于数组b
的长度,则抛出IndexOutOfBoundsException
。如果len
为零,则不写入字节。否则,首先写入字节b[off]
,然后写入字节b[off+1]
,依此类推;最后一个写入字节是b[off+len-1]
。 - 参数:
b
- 数据。off
- 数据中的起始偏移量。len
- 要写入的字节数。- 抛出:
IOException
- 如果发生 I/O 错误。
writeBoolean
void writeBoolean(boolean v) throws IOException
- 将一个
boolean
值写入输出流。如果参数v
为true
,则写入值(byte)1
;如果v
为false
,则写入值(byte)0
。此方法写入的字节可由DataInput
接口的readBoolean
方法读取,然后该方法将返回一个等于v
的boolean
值。 - 参数:
v
- 要写入的 boolean 值。- 抛出:
IOException
- 如果发生 I/O 错误。
writeByte
void writeByte(int v) throws IOException
- 将参数
v
的八个低位写入输出流。忽略v
的 24 个高位。(这意味着writeByte
的作用与使用整数做参数的write
完全相同。)此方法写入的字节可由DataInput
接口的readByte
方法读取,然后该方法将返回一个等于(byte)v
的byte
值。 - 参数:
v
- 要写入的字节值。- 抛出:
IOException
- 如果发生 I/O 错误。
writeShort
void writeShort(int v) throws IOException
- 将两个字节写入输出流,用它们表示参数值。要写入的字节值(按顺序显示)是:
(byte)(0xff & (v >> 8)) (byte)(0xff & v)
此方法写入的字节可由
DataInput
接口的readShort
方法读取,然后该方法将返回一个等于(short)v
的short
值。 - 参数:
v
- 要写入的short
值。- 抛出:
IOException
- 如果发生 I/O 错误。
writeChar
void writeChar(int v) throws IOException
- 将一个
char
值写入输出流,该值由两个字节组成。要写入的字节值(按顺序显示)是:(byte)(0xff & (v >> 8)) (byte)(0xff & v)
此方法写入的字节可由
DataInput
接口的readChar
方法读取,然后该方法将返回一个等于(char)v
的char
值。 - 参数:
v
- 要写入的char
值。- 抛出:
IOException
- 如果发生 I/O 错误。
writeInt
void writeInt(int v) throws IOException
- 将一个
int
值写入输出流,该值由四个字节组成。要写入的字节值(按顺序显示)是:(byte)(0xff & (v >> 24)) (byte)(0xff & (v >> 16)) (byte)(0xff & (v >> 8)) (byte)(0xff & v)
此方法写入的字节可由
DataInput
接口的readInt
方法读取,然后该方法将返回一个等于v
的int
值。 - 参数:
v
- 要写入的int
值。- 抛出:
IOException
- 如果发生 I/O 错误。
writeLong
void writeLong(long v) throws IOException
- 将一个
long
值写入输出流,该值由八个字节组成。要写入的字节值(按顺序显示)是:(byte)(0xff & (v >> 56)) (byte)(0xff & (v >> 48)) (byte)(0xff & (v >> 40)) (byte)(0xff & (v >> 32)) (byte)(0xff & (v >> 24)) (byte)(0xff & (v >> 16)) (byte)(0xff & (v >> 8)) (byte)(0xff & v)
此方法写入的字节可由
DataInput
接口的readLong
方法读取,然后该方法将返回一个等于v
的long
值。 - 参数:
v
- 要写入的long
值。- 抛出:
IOException
- 如果发生 I/O 错误。
writeFloat
void writeFloat(float v) throws IOException
- 将一个
float
值写入输出流,该值由四个字节组成。实现这一点的方式是:首先使用与Float.floatToIntBits
方法完全相同的方式将此float
值转换为一个int
值,然后使用与writeInt
方法完全相同的方式写入该int
值。此方法写入的字节可由DataInput
接口的readFloat
方法读取,然后该方法将返回一个等于v
的float
值。 - 参数:
v
- 要写入的float
值。- 抛出:
IOException
- 如果发生 I/O 错误。
writeDouble
void writeDouble(double v) throws IOException
- 将一个
double
值写入输出流,该值由八个字节组成。实现这一点的方式是:首先使用与Double.doubleToLongBits
方法相同的方式将此double
值转换为一个long
值,然后使用与writeLong
方法完全相同的方式写入该long
值。此方法写入的字节可由DataInput
接口的readDouble
方法读取,然后该方法将返回一个等于v
的double
值。 - 参数:
v
- 要写入的double
值。- 抛出:
IOException
- 如果发生 I/O 错误。
writeBytes
void writeBytes(String s) throws IOException
- 将一个字符串写入输出流。字符串
s
中的每一个字符被依次写入输出流,每个字符用一个字节表示。如果s
为null
,则抛出NullPointerException
。如果
s.length
为零,则不写入字节。否则,首先写入字符s[0]
,然后写入字符s[1]
,依此类推;最后一个写入字符是s[s.length-1]
。使用与writeByte
方法完全相同的方法为每个字符写入一个低位字节。忽略字符串中每个字符的八个高位。 - 参数:
s
- 要写入的字节字符串。- 抛出:
IOException
- 如果发生 I/O 错误。
writeChars
void writeChars(String s) throws IOException
- 将字符串
s
中的所有字符按顺序写入输出流,每个字符用两个字节表示。如果s
为null
,则抛出NullPointerException
。如果s.length
为零,则不写入字符。否则,首先写入字符s[0]
,然后写入字符s[1]
,依此类推;最后一个写入字符是s[s.length-1]
。使用与writeChar
方法完全相同的方法为每个字符实际写入两个字节,先使用高位字节。 - 参数:
s
- 要写入的字符串值。- 抛出:
IOException
- 如果发生 I/O 错误。
writeUTF
void writeUTF(String s) throws IOException
- 将表示长度信息的两个字节写入输出流,后跟字符串
s
中每个字符的 UTF-8 修改版表示形式。如果s
为null
,则抛出NullPointerException
。根据字符的值,将字符串s
中每个字符转换成一个字节、两个字节或三个字节的字节组。如果字符
c
在\u0001
到\u007f
的范围内,则用一个字节表示:(byte)c
如果字符
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 字节表示形式。此方法写入的字节可由
DataInput
接口的readUTF
方法读取,然后该方法将返回一个等于s
的String
值。 - 参数:
s
- 要写入的字符串值。- 抛出:
IOException
- 如果发生 I/O 错误。
- 接口 DataOutput
- 接口 DataOutput
- 01 DataOutput 接口
- java IO笔记(DataInput/DataOutput)
- java流与文件——读写二进制数据(DataOutput + DataInput)
- 接口
- 接口
- 接口
- 接口
- 接口
- 接口
- 接口
- 接口
- 接口
- 接口
- 接口
- 接口
- 接口
- hibernate框架之主键生成
- Hibernate: You have an error in your SQL syntax; check the manual that corresponds to your MySQL
- java.io 包
- 接口 Closeable
- 接口 DataInput
- 接口 DataOutput
- Servlet之javaweb应用(二)
- Servlet之Tomcat配置与启动(一)
- hibernate的Configuration和配置文件
- Hibernate之映射
- Java的系统Property
- List转数组toArray方法
- Util包中Arrays
- java生成UUID通用唯一识别码