- java.lang.Object
-
- java.io.OutputStream
-
- java.io.FilterOutputStream
-
- java.io.DataOutputStream
-
- All Implemented Interfaces:
-
Closeable
,DataOutput
,Flushable
,AutoCloseable
public class DataOutputStream extends FilterOutputStream implements DataOutput
数据输出流使应用程序以便携式方式将原始Java数据类型写入输出流。 然后应用程序可以使用数据输入流来读取数据。- 从以下版本开始:
- 1.0
- 另请参见:
-
DataInputStream
-
-
Field Summary
Fields Modifier and Type Field 描述 protected int
written
到目前为止写入数据输出流的字节数。-
Fields inherited from class java.io.FilterOutputStream
out
-
-
构造方法摘要
构造方法 Constructor 描述 DataOutputStream(OutputStream out)
创建一个新的数据输出流,以将数据写入指定的底层输出流。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 void
flush()
刷新此数据输出流。int
size()
返回计数器的当前值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)
将底层输出流作为1字节值写入byte
。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参数转换为Float
,然后int
值作为4字节数量,高字节优先写入底层输出流。void
writeInt(int v)
将底层输出流写入int
作为四字节,高位字节。void
writeLong(long v)
将底层输出流写入一个long
作为八字节,高字节优先。void
writeShort(int v)
将底层输出流写入short
作为两个字节,高字节优先。void
writeUTF(String str)
使用机器无关的方式使用 modified UTF-8编码将字符串写入底层输出流。-
Methods inherited from interface java.io.DataOutput
write
-
Methods inherited from class java.io.FilterOutputStream
close, 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
从指定的字节数组写入len
个字节,从偏移off
开始到底层输出流。 如果没有异常抛出,计数器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
将底层输出流作为1字节值写入boolean
。 值true
写为值(byte)1
; 值false
写出为值(byte)0
。 如果没有异常抛出,计数器written
增加1
。- Specified by:
-
writeBoolean
在接口DataOutput
- 参数
-
v
- 要写入的boolean
值。 - 异常
-
IOException
- 如果发生I / O错误。 - 另请参见:
-
FilterOutputStream.out
-
writeByte
public final void writeByte(int v) throws IOException
将底层输出流作为1字节值写入byte
。 如果没有异常抛出,计数器written
将增加1
。- Specified by:
-
writeByte
在接口DataOutput
- 参数
-
v
-v
一个byte
值。 - 异常
-
IOException
- 如果发生I / O错误。 - 另请参见:
-
FilterOutputStream.out
-
writeShort
public final void writeShort(int v) throws IOException
将底层输出流写入short
作为两个字节,高位字节。 如果不抛出异常,计数器written
将增加2
。- Specified by:
-
writeShort
在接口DataOutput
- 参数
-
v
- ashort
待写。 - 异常
-
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
作为八字节,高位字节。 抛出异常,计数器written
增加8
。- Specified by:
-
writeLong
在接口DataOutput
- 参数
-
v
- along
待写。 - 异常
-
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
-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
将增加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
,到目前为止写入此数据输出流的字节数。 如果计数器溢出,它将被包装到Integer.MAX_VALUE。- 结果
-
该值为
written
字段。 - 另请参见:
-
written
-
-