- 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 intwritten到目前为止写入数据输出流的字节数。-
Fields inherited from class java.io.FilterOutputStream
out
-
-
构造方法摘要
构造方法 Constructor 描述 DataOutputStream(OutputStream out)创建一个新的数据输出流,以将数据写入指定的底层输出流。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 voidflush()刷新此数据输出流。intsize()返回计数器的当前值written,到目前为止写入此数据输出流的字节数。voidwrite(byte[] b, int off, int len)将从偏移量off开始的指定字节数组写入len字节到底层输出流。voidwrite(int b)将指定的字节(参数b的低8位)写入底层输出流。voidwriteBoolean(boolean v)将底层输出流写入boolean作为1字节值。voidwriteByte(int v)将底层输出流作为1字节值写入byte。voidwriteBytes(String s)将字符串作为字节序列写入基础输出流。voidwriteChar(int v)将底层输出流写入char作为2字节值,高位字节。voidwriteChars(String s)将字符串写入底层输出流作为一系列字符。voidwriteDouble(double v)双参数传递给转换long使用doubleToLongBits方法在类Double,然后写入该long值基础输出流作为8字节的数量,高字节。voidwriteFloat(float v)使用int中的floatToIntBits方法将float参数转换为Float,然后int值作为4字节数量,高字节优先写入底层输出流。voidwriteInt(int v)将底层输出流写入int作为四字节,高位字节。voidwriteLong(long v)将底层输出流写入一个long作为八字节,高字节优先。voidwriteShort(int v)将底层输出流写入short作为两个字节,高字节优先。voidwriteUTF(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
-
-