- java.lang.Object
-
- java.io.OutputStream
-
- java.io.FilterOutputStream
-
- java.io.DataOutputStream
-
- 实现的所有接口
-
Closeable
,DataOutput
,Flushable
,AutoCloseable
public class DataOutputStream extends FilterOutputStream implements DataOutput
数据输出流允许应用程序以可移植的方式将原始Java数据类型写入输出流。 然后,应用程序可以使用数据输入流来重新读取数据。- 从以下版本开始:
- 1.0
- 另请参见:
-
DataInputStream
-
-
字段汇总
字段 变量和类型 字段 描述 protected int
written
到目前为止写入数据输出流的字节数。-
声明的属性在类 java.io.FilterOutputStream
out
-
-
构造方法摘要
构造方法 构造器 描述 DataOutputStream(OutputStream out)
创建新数据输出流以将数据写入指定的基础输出流。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 void
flush()
刷新此数据输出流。int
size()
返回计数器written
的当前值,即written
写入此数据输出流的字节数。void
write(byte[] b, int off, int len)
将从偏移量off
开始的指定字节数组中的len
字节写入基础输出流。void
write(int b)
将指定的字节(参数b
的低8位)写入基础输出流。void
writeBoolean(boolean v)
将boolean
写入基础输出流作为1字节值。void
writeByte(int v)
将byte
写入基础输出流作为1字节值。void
writeBytes(String s)
将字符串作为字节序列写入基础输出流。void
writeChar(int v)
将char
写入基础输出流,作为2字节值,高字节优先。void
writeChars(String s)
将字符串作为字符序列写入基础输出流。void
writeDouble(double v)
双参数传递给转换long
使用doubleToLongBits
方法在类Double
,然后写入该long
值基础输出流作为8字节的数量,高字节。void
writeFloat(float v)
浮子参数的转换int
使用floatToIntBits
方法在类Float
,然后写入该int
值基础输出流作为一个4字节的数量,高字节。void
writeInt(int v)
将int
写入基础输出流,为四个字节,高字节优先。void
writeLong(long v)
将long
写入基础输出流,为8字节,高字节优先。void
writeShort(int v)
将short
写入基础输出流作为两个字节,高字节优先。void
writeUTF(String str)
使用 modified UTF-8编码以与机器无关的方式将字符串写入基础输出流。-
声明方法的类 java.io.FilterOutputStream
close, write
-
声明方法的类 java.io.OutputStream
nullOutputStream
-
声明方法的类 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
声明方法的接口 java.io.DataOutput
write
-
-
-
-
构造方法详细信息
-
DataOutputStream
public DataOutputStream(OutputStream out)
创建新数据输出流以将数据写入指定的基础输出流。 计数器written
设置为零。- 参数
-
out
- 要保存以供以后使用的基础输出流。 - 另请参见:
-
FilterOutputStream.out
-
-
方法详细信息
-
write
public void write(int b) throws IOException
将指定的字节(参数b
的低8位)写入基础输出流。 如果没有抛出异常,则计数器written
递增1
。实现
write
的方法OutputStream
。- Specified by:
-
write
在界面DataOutput
- 重写:
-
write
在类FilterOutputStream
- 参数
-
b
-byte
。 - 异常
-
IOException
- 如果发生I / O错误。 - 另请参见:
-
FilterOutputStream.out
-
write
public void write(byte[] b, int off, int len) throws IOException
将从偏移量off
开始的指定字节数组中的len
字节写入基础输出流。 如果没有抛出异常,则计数器written
递增len
。- Specified by:
-
write
,界面DataOutput
- 重写:
-
write
在类FilterOutputStream
- 参数
-
b
- 数据。 -
off
- 数据中的起始偏移量。 -
len
- 要写入的字节数。 - 异常
-
IOException
- 如果发生I / O错误。 - 另请参见:
-
FilterOutputStream.out
-
flush
public void flush() throws IOException
刷新此数据输出流。 这会强制将任何缓冲的输出字节写出到流中。flush
方法DataOutputStream
调用其底层输出流的flush
方法。- Specified by:
-
flush
在界面Flushable
- 重写:
-
flush
在课程FilterOutputStream
- 异常
-
IOException
- 如果发生I / O错误。 - 另请参见:
-
FilterOutputStream.out
,OutputStream.flush()
-
writeBoolean
public final void writeBoolean(boolean v) throws IOException
将boolean
写入基础输出流作为1字节值。 值true
写为值(byte)1
; 值false
写为值(byte)0
。 如果未引发异常,则计数器written
将增加1
。- Specified by:
-
writeBoolean
in interfaceDataOutput
- 参数
-
v
- 要写入的值boolean
。 - 异常
-
IOException
- 如果发生I / O错误。 - 另请参见:
-
FilterOutputStream.out
-
writeByte
public final void writeByte(int v) throws IOException
将byte
写入基础输出流作为1字节值。 如果没有抛出异常,则计数器written
增加1
。- Specified by:
-
writeByte
,界面DataOutput
- 参数
-
v
- 要写入的值byte
。 - 异常
-
IOException
- 如果发生I / O错误。 - 另请参见:
-
FilterOutputStream.out
-
writeShort
public final void writeShort(int v) throws IOException
将short
写入基础输出流,作为两个字节,高字节优先。 如果没有抛出异常,则计数器written
增加2
。- Specified by:
-
writeShort
在界面DataOutput
- 参数
-
v
-short
。 - 异常
-
IOException
- 如果发生I / O错误。 - 另请参见:
-
FilterOutputStream.out
-
writeChar
public final void writeChar(int v) throws IOException
将char
作为2字节值写入基础输出流,先写入高字节。 如果没有抛出异常,则计数器written
递增2
。- Specified by:
-
writeChar
接口DataOutput
- 参数
-
v
- 要写入的值char
。 - 异常
-
IOException
- 如果发生I / O错误。 - 另请参见:
-
FilterOutputStream.out
-
writeInt
public final void writeInt(int v) throws IOException
将int
写入基础输出流,为四个字节,高字节优先。 如果没有抛出异常,则计数器written
递增4
。- Specified by:
-
writeInt
,界面DataOutput
- 参数
-
v
-int
。 - 异常
-
IOException
- 如果发生I / O错误。 - 另请参见:
-
FilterOutputStream.out
-
writeLong
public final void writeLong(long v) throws IOException
将long
写入基础输出流,为8字节,高字节优先。 在抛出异常时,计数器written
增加8
。- Specified by:
-
writeLong
,界面DataOutput
- 参数
-
v
-long
。 - 异常
-
IOException
- 如果发生I / O错误。 - 另请参见:
-
FilterOutputStream.out
-
writeFloat
public final void writeFloat(float v) throws IOException
浮子参数的转换int
使用floatToIntBits
方法在类Float
,然后写入该int
值基础输出流作为一个4字节的数量,高字节。 如果没有抛出异常,则计数器written
增加4
。- Specified by:
-
writeFloat
接口DataOutput
- 参数
-
v
- 要写入的值float
。 - 异常
-
IOException
- 如果发生I / O错误。 - 另请参见:
-
FilterOutputStream.out
,Float.floatToIntBits(float)
-
writeDouble
public final void writeDouble(double v) throws IOException
双参数传递给转换long
使用doubleToLongBits
方法在类Double
,然后写入该long
值基础输出流作为8字节的数量,高字节。 如果没有抛出异常,则计数器written
增加8
。- Specified by:
-
writeDouble
,界面DataOutput
- 参数
-
v
- 要写入的值double
。 - 异常
-
IOException
- 如果发生I / O错误。 - 另请参见:
-
FilterOutputStream.out
,Double.doubleToLongBits(double)
-
writeBytes
public final void writeBytes(String s) throws IOException
将字符串作为字节序列写入基础输出流。 通过丢弃其高8位,按顺序写出字符串中的每个字符。 如果未引发异常,则计数器written
的长度增加s
。- Specified by:
-
writeBytes
,界面DataOutput
- 参数
-
s
- 要写入的字节串。 - 异常
-
IOException
- 如果发生I / O错误。 - 另请参见:
-
FilterOutputStream.out
-
writeChars
public final void writeChars(String s) throws IOException
将字符串作为字符序列写入基础输出流。 每个字符都被写入数据输出流,就像通过writeChar
方法一样。 如果没有抛出异常,则计数器written
的增量为s
两倍。- Specified by:
-
writeChars
在界面DataOutput
- 参数
-
s
- 要写入的值String
。 - 异常
-
IOException
- 如果发生I / O错误。 - 另请参见:
-
writeChar(int)
,FilterOutputStream.out
-
writeUTF
public final void writeUTF(String str) throws IOException
使用modified UTF-8编码以与机器无关的方式将字符串写入基础输出流。首先,将两个字节写入输出流,就好像通过
writeShort
方法一样,给出了要遵循的字节数。 该值是实际写出的字节数,而不是字符串的长度。 在该长度之后,使用针对该字符的修改的UTF-8编码依次输出该字符串的每个字符。 如果没有抛出异常,则计数器written
增加写入输出流的总字节数。 这将至少两个加上str
的长度,并且最多两个加三倍的长度str
。- Specified by:
-
writeUTF
在界面DataOutput
- 参数
-
str
- 要写入的字符串。 - 异常
-
IOException
- 如果发生I / O错误。
-
size
public final int size()
返回计数器written
的当前值,即written
写入此数据输出流的字节数。 如果计数器溢出,它将被包装到Integer.MAX_VALUE。- 结果
-
written
字段的值。 - 另请参见:
-
written
-
-