java.lang.Object java.io.OutputStream java.io.FilterOutputStream java.io.DataOutputStream
public class DataOutputStream
数据输出流允许应用程序以适当方式将基本 Java 数据类型写入输出流中。然后,应用程序可以使用数据输入流将数据读入。
DataInputStream
字段摘要 | |
---|---|
protected int |
written 到目前为止写入数据输出流的字节数。 |
从类 java.io.FilterOutputStream 继承的字段 |
---|
out |
构造方法摘要 | |
---|---|
DataOutputStream(OutputStream out) 创建一个新的数据输出流,将数据写入指定基础输出流。 |
方法摘要 | |
---|---|
void |
flush() 清空此数据输出流。 |
int |
size() 返回计数器 written 的当前值,即到目前为止写入此数据输出流的字节数。 |
void |
write(byte[] b, int off, int len) 将指定 byte 数组中从偏移量 off 开始的 len 个字节写入基础输出流。 |
void |
write(int b) 将指定字节(参数 b 的八个低位)写入基础输出流。 |
void |
writeBoolean(boolean v) 将一个 boolean 值以 1-byte 值形式写入基础输出流。 |
void |
writeByte(int v) 将一个 byte 值以 1-byte 值形式写出到基础输出流中。 |
void |
writeBytes(String s) 将字符串按字节顺序写出到基础输出流中。 |
void |
writeChar(int v) 将一个 char 值以 2-byte 值形式写入基础输出流中,先写入高字节。 |
void |
writeChars(String s) 将字符串按字符顺序写入基础输出流。 |
void |
writeDouble(double v) 使用 Double 类中的 doubleToLongBits 方法将 double 参数转换为一个 long 值,然后将该 long 值以 8-byte 值形式写入基础输出流中,先写入高字节。 |
void |
writeFloat(float v) 使用 Float 类中的 floatToIntBits 方法将 float 参数转换为一个 int 值,然后将该 int 值以 4-byte 值形式写入基础输出流中,先写入高字节。 |
void |
writeInt(int v) 将一个 int 值以 4-byte 值形式写入基础输出流中,先写入高字节。 |
void |
writeLong(long v) 将一个 long 值以 8-byte 值形式写入基础输出流中,先写入高字节。 |
void |
writeShort(int v) 将一个 short 值以 2-byte 值形式写入基础输出流中,先写入高字节。 |
void |
writeUTF(String str) 以与机器无关方式使用 UTF-8 修改版编码将一个字符串写入基础输出流。 |
从类 java.io.FilterOutputStream 继承的方法 |
---|
close, write |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
从接口 java.io.DataOutput 继承的方法 |
---|
write |
字段详细信息 |
---|
protected int written
构造方法详细信息 |
---|
public DataOutputStream(OutputStream out)
written
被设置为零。
out
- 基础输出流,将被保存供以后使用。
FilterOutputStream.out
方法详细信息 |
---|
public void write(int b) throws IOException
b
的八个低位)写入基础输出流。如果没有抛出异常,则计数器
written
增加
1
。
实现 OutputStream
的 write
方法。
DataOutput
中的
write
FilterOutputStream
中的
write
b
- 要写入的
byte
。
IOException
- 如果发生 I/O 错误。
FilterOutputStream.out
public void write(byte[] b, int off, int len) throws IOException
off
开始的
len
个字节写入基础输出流。如果没有抛出异常,则计数器
written
增加
len
。
DataOutput
中的
write
FilterOutputStream
中的
write
b
- 数据。
off
- 数据中的起始偏移量。
len
- 要写入的字节数。
IOException
- 如果发生 I/O 错误。
FilterOutputStream.out
public void flush() throws IOException
DataOutputStream
的 flush
方法调用其基础输出流的 flush
方法。
Flushable
中的
flush
FilterOutputStream
中的
flush
IOException
- 如果发生 I/O 错误。
FilterOutputStream.out
,
OutputStream.flush()
public final void writeBoolean(boolean v) throws IOException
boolean
值以 1-byte 值形式写入基础输出流。值
true
以值
(byte)1
的形式被写出;值
false
以值
(byte)0
的形式被写出。如果没有抛出异常,则计数器
written
增加
1
。
DataOutput
中的
writeBoolean
v
- 要写入的
boolean
值。
IOException
- 如果发生 I/O 错误。
FilterOutputStream.out
public final void writeByte(int v) throws IOException
byte
值以 1-byte 值形式写出到基础输出流中。如果没有抛出异常,则计数器
written
增加
1
。
DataOutput
中的
writeByte
v
- 要写入的
byte
值。
IOException
- 如果发生 I/O 错误。
FilterOutputStream.out
public final void writeShort(int v) throws IOException
short
值以 2-byte 值形式写入基础输出流中,先写入高字节。如果没有抛出异常,则计数器
written
增加
2
。
DataOutput
中的
writeShort
v
- 要写入的
short
值。
IOException
- 如果发生 I/O 错误。
FilterOutputStream.out
public final void writeChar(int v) throws IOException
char
值以 2-byte 值形式写入基础输出流中,先写入高字节。如果没有抛出异常,则计数器
written
增加
2
。
DataOutput
中的
writeChar
v
- 要写入的
char
值。
IOException
- 如果发生 I/O 错误。
FilterOutputStream.out
public final void writeInt(int v) throws IOException
int
值以 4-byte 值形式写入基础输出流中,先写入高字节。如果没有抛出异常,则计数器
written
增加
4
。
DataOutput
中的
writeInt
v
- 要写入的
int
值。
IOException
- 如果发生 I/O 错误。
FilterOutputStream.out
public final void writeLong(long v) throws IOException
long
值以 8-byte 值形式写入基础输出流中,先写入高字节。如果没有抛出异常,则计数器
written
增加
8
。
DataOutput
中的
writeLong
v
- 要写入的
long
值。
IOException
- 如果发生 I/O 错误。
FilterOutputStream.out
public final void writeFloat(float v) throws IOException
Float
类中的
floatToIntBits
方法将 float 参数转换为一个
int
值,然后将该
int
值以 4-byte 值形式写入基础输出流中,先写入高字节。如果没有抛出异常,则计数器
written
增加
4
。
DataOutput
中的
writeFloat
v
- 要写入的
float
值。
IOException
- 如果发生 I/O 错误。
FilterOutputStream.out
,
Float.floatToIntBits(float)
public final void writeDouble(double v) throws IOException
Double
类中的
doubleToLongBits
方法将 double 参数转换为一个
long
值,然后将该
long
值以 8-byte 值形式写入基础输出流中,先写入高字节。如果没有抛出异常,则计数器
written
增加
8
。
DataOutput
中的
writeDouble
v
- 要写入的
double
值。
IOException
- 如果发生 I/O 错误。
FilterOutputStream.out
,
Double.doubleToLongBits(double)
public final void writeBytes(String s) throws IOException
written
增加
s
的长度。
DataOutput
中的
writeBytes
s
- 要写入的字节字符串。
IOException
- 如果发生 I/O 错误。
FilterOutputStream.out
public final void writeChars(String s) throws IOException
writeChar
方法将每个字符写入数据输出流。如果没有抛出异常,则计数器
written
增加
s
长度的两倍。
DataOutput
中的
writeChars
s
- 要写入的
String
值。
IOException
- 如果发生 I/O 错误。
writeChar(int)
,
FilterOutputStream.out
public final void writeUTF(String str) throws IOException
首先,通过 writeShort
方法将两个字节写入输出流,表示后跟的字节数。该值是实际写出的字节数,不是字符串的长度。根据此长度,使用字符的 UTF-8 修改版编码按顺序输出字符串的每个字符。如果没有抛出异常,则计数器 written
增加写入输出流的字节总数。该值至少是 2 加 str
的长度,最多是 2 加 str
的三倍长度。
DataOutput
中的
writeUTF
str
- 要写入的字符串。
IOException
- 如果发生 I/O 错误。
public final int size()
written
的当前值,即到目前为止写入此数据输出流的字节数。如果计数器溢出,则将它包装到 Integer.MAX_VALUE。
written
字段的值。
written