java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
java.io.DataOutputStream
- 所有已实现的接口:
-
Closeable,DataOutput,Flushable,AutoCloseable
数据输出流允许应用程序以可移植的方式将原始Java数据类型写入输出流。然后应用程序可以使用数据输入流将数据读取回来。
DataOutputStream不适合多个并发线程使用。如果要让DataOutputStream被多个线程使用,则应通过适当的同步来控制对数据输出流的访问。
- 自:
- 1.0
- 参见:
-
Field Summary
FieldsFields declared in class java.io.FilterOutputStream
out -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidflush()刷新此数据输出流。final intsize()返回计数器written的当前值,到目前为止已写入此数据输出流的字节数。voidwrite(byte[] b, int off, int len) 从指定的字节数组中写入len字节,从偏移量off开始,到底层输出流。voidwrite(int b) 将指定的字节(参数b的低8位)写入底层输出流。final voidwriteBoolean(boolean v) 将一个boolean作为1字节值写入底层输出流。final voidwriteByte(int v) 将一个byte作为1字节值写入底层输出流。final voidwriteBytes(String s) 将字符串作为字节序列写入底层输出流。final voidwriteChar(int v) 将一个char作为2字节值(高字节在前)写入底层输出流。final voidwriteChars(String s) 将字符串作为字符序列写入底层输出流。final voidwriteDouble(double v) 使用Double类中的doubleToLongBits方法将double参数转换为long,然后将该long值作为8字节数量(高字节在前)写入底层输出流。final voidwriteFloat(float v) 使用Float类中的floatToIntBits方法将float参数转换为int,然后将该int值作为4字节数量(高字节在前)写入底层输出流。final voidwriteInt(int v) 将一个int作为四字节(高字节在前)写入底层输出流。final voidwriteLong(long v) 将一个long作为八字节(高字节在前)写入底层输出流。final voidwriteShort(int v) 将一个short作为两字节(高字节在前)写入底层输出流。final void使用机器无关的方式,使用修改后的UTF-8编码将字符串写入底层输出流。Methods declared in class java.io.FilterOutputStream
close, writeMethods declared in class java.io.OutputStream
nullOutputStreamMethods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods declared in interface java.io.DataOutput
write
-
Field Details
-
written
protected int written到目前为止写入数据输出流的字节数。如果此计数器溢出,它将被包装为Integer.MAX_VALUE。
-
-
Constructor Details
-
DataOutputStream
创建一个新的数据输出流,将数据写入指定的底层输出流。计数器written被设置为零。- 参数:
-
out- 要保存以供以后使用的底层输出流。 - 参见:
-
-
Method Details
-
write
将指定的字节(参数b的低8位)写入底层输出流。如果没有抛出异常,则计数器written将增加1。实现
OutputStream的write方法。- 指定者:
-
write在接口DataOutput中 - 覆盖:
-
write在类FilterOutputStream中 - 参数:
-
b- 要写入的byte。 - 抛出:
-
IOException- 如果发生I/O错误。 - 参见:
-
write
从指定的字节数组中写入len字节,从偏移量off开始,到底层输出流。如果没有抛出异常,则计数器written将增加len。- 指定者:
-
write在接口DataOutput中 - 覆盖:
-
write在类FilterOutputStream中 - 参数:
-
b- 数据。 -
off- 数据中的起始偏移量。 -
len- 要写入的字节数。 - 抛出:
-
IOException- 如果发生I/O错误。 -
IndexOutOfBoundsException- 如果off为负,len为负,或len大于b.length - off - 参见:
-
flush
刷新此数据输出流。这将强制将任何缓冲的输出字节写入流中。DataOutputStream的flush方法调用其底层输出流的flush方法。- 指定者:
-
flush在接口Flushable中 - 覆盖:
-
flush在类FilterOutputStream中 - 抛出:
-
IOException- 如果发生I/O错误。 - 参见:
-
writeBoolean
将一个boolean作为1字节值写入底层输出流。值true被写入为值(byte)1;值false被写入为值(byte)0。如果没有抛出异常,则计数器written将增加1。- 指定者:
-
writeBoolean在接口DataOutput中 - 参数:
-
v- 要写入的boolean值。 - 抛出:
-
IOException- 如果发生I/O错误。 - 参见:
-
writeByte
将一个byte作为1字节值写入底层输出流。如果没有抛出异常,则计数器written将增加1。- 指定者:
-
writeByte在接口DataOutput中 - 参数:
-
v- 要写入的byte值。 - 抛出:
-
IOException- 如果发生I/O错误。 - 参见:
-
writeShort
将一个short作为两字节(高字节在前)写入底层输出流。如果没有抛出异常,则计数器written将增加2。- 指定者:
-
writeShort在接口DataOutput中 - 参数:
-
v- 要写入的short。 - 抛出:
-
IOException- 如果发生I/O错误。 - 参见:
-
writeChar
将一个char作为2字节值(高字节在前)写入底层输出流。如果没有抛出异常,则计数器written将增加2。- 指定者:
-
writeChar在接口DataOutput中 - 参数:
-
v- 要写入的char值。 - 抛出:
-
IOException- 如果发生I/O错误。 - 参见:
-
writeInt
将一个int作为四字节(高字节在前)写入底层输出流。如果没有抛出异常,则计数器written将增加4。- 指定由:
-
writeInt在接口DataOutput - 参数:
-
v- 要写入的int值。 - 抛出:
-
IOException- 如果发生I/O错误。 - 参见:
-
writeLong
将long作为八个字节(高字节优先)写入底层输出流。如果没有抛出异常,则计数器written将增加8。- 指定由:
-
writeLong在接口DataOutput - 参数:
-
v- 要写入的long值。 - 抛出:
-
IOException- 如果发生I/O错误。 - 参见:
-
writeFloat
将浮点参数使用Float类中的floatToIntBits方法转换为int,然后将该int值作为4字节数量(高字节优先)写入底层输出流。如果没有抛出异常,则计数器written将增加4。- 指定由:
-
writeFloat在接口DataOutput - 参数:
-
v- 要写入的float值。 - 抛出:
-
IOException- 如果发生I/O错误。 - 参见:
-
writeDouble
将双精度参数使用Double类中的doubleToLongBits方法转换为long,然后将该long值作为8字节数量(高字节优先)写入底层输出流。如果没有抛出异常,则计数器written将增加8。- 指定由:
-
writeDouble在接口DataOutput - 参数:
-
v- 要写入的double值。 - 抛出:
-
IOException- 如果发生I/O错误。 - 参见:
-
writeBytes
将字符串作为字节序列写入底层输出流。字符串中的每个字符按顺序写入,丢弃其高8位。如果没有抛出异常,则计数器written将增加s的长度。- 指定由:
-
writeBytes在接口DataOutput - 参数:
-
s- 要写入的字节字符串。 - 抛出:
-
IOException- 如果发生I/O错误。 - 参见:
-
writeChars
将字符串作为字符序列写入底层输出流。每个字符都将像writeChar方法一样写入数据输出流。如果没有抛出异常,则计数器written将增加s的长度的两倍。- 指定由:
-
writeChars在接口DataOutput - 参数:
-
s- 要写入的String值。 - 抛出:
-
IOException- 如果发生I/O错误。 - 参见:
-
writeUTF
使用机器无关的方式,使用修改的UTF-8编码将字符串写入底层输出流。首先,将两个字节写入输出流,就像通过
writeShort方法给出要跟随的字节数一样。这个值是实际写出的字节数,而不是字符串的长度。在长度之后,按顺序输出字符串的每个字符,使用修改的UTF-8编码进行编码。如果没有抛出异常,则计数器written将增加写入输出流的总字节数。这将至少是两加上str的长度,并且最多是两加上str的长度的三倍。- 指定由:
-
writeUTF在接口DataOutput - 参数:
-
str- 要写入的字符串。 - 抛出:
-
UTFDataFormatException- 如果str的修改的UTF-8编码超过65535字节的长度 -
IOException- 如果发生其他I/O错误。 - 参见:
-
size
public final int size()返回计数器written的当前值,到目前为止写入此数据输出流的字节数。如果计数器溢出,它将被包装为Integer.MAX_VALUE。- 返回:
-
written字段的值。 - 参见:
-