JavaTM 2 Platform
Standard Ed. 5.0

java.io
类 DataOutputStream

java.lang.Object
  继承者 java.io.OutputStream
      继承者 java.io.FilterOutputStream
          继承者 java.io.DataOutputStream
所有已实现的接口:
Closeable, DataOutput, Flushable

public class DataOutputStream
extends FilterOutputStream
implements DataOutput

数据输出流允许应用程序以适当方式将基本 Java 数据类型写入输出流中。然后,应用程序可以使用数据输入流将数据读入。

从以下版本开始:
JDK1.0
另请参见:
DataInputStream

字段摘要
protected  int written
          到目前为止写入数据输出流的字节数。
 
从类 java.io.FilterOutputStream 继承的字段
out
 
构造方法摘要
DataOutputStream(OutputStream out)
          创建一个新的数据输出流,将数据写入指定基础输出流。
 
方法摘要
 void flush()
          清空此数据输出流。
 int size()
          返回计数器 written 的当前值,即到目前为止写入此数据输出流的字节数。
 void write(byte[] b, int off, int len)
          将指定字节数组中从偏移量 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
 

字段详细信息

written

protected int written
到目前为止写入数据输出流的字节数。如果此计数器溢出,则将它包装成 Integer.MAX_VALUE。

构造方法详细信息

DataOutputStream

public DataOutputStream(OutputStream out)
创建一个新的数据输出流,将数据写入指定基础输出流。计数器 written 被设置为零。

参数:
out - 基础输出流,将被保存供以后使用。
另请参见:
FilterOutputStream.out
方法详细信息

write

public void write(int b)
           throws IOException
将指定字节(参数 b 的八个低位)写入基础输出流。如果没有抛出异常,则计数器 written 增加 1

实现 OutputStreamwrite 方法。

指定者:
接口 DataOutput 中的 write
覆盖:
FilterOutputStream 中的 write
参数:
b - 要写入的 byte
抛出:
IOException - 如果发生 I/O 错误。
另请参见:
FilterOutputStream.out

write

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

flush

public void flush()
           throws IOException
清空此数据输出流。这迫使所有缓冲的输出字节被写出到流中。

DataOutputStreamflush 方法调用其基础输出流的 flush 方法。

指定者:
接口 Flushable 中的 flush
覆盖:
FilterOutputStream 中的 flush
抛出:
IOException - 如果发生 I/O 错误。
另请参见:
FilterOutputStream.out, OutputStream.flush()

writeBoolean

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

writeByte

public final void writeByte(int v)
                     throws IOException
将一个 byte 值以 1-byte 值形式写出到基础输出流中。如果没有抛出异常,则计数器 written 增加 1

指定者:
接口 DataOutput 中的 writeByte
参数:
v - 要写入的 byte 值。
抛出:
IOException - 如果发生 I/O 错误。
另请参见:
FilterOutputStream.out

writeShort

public final void writeShort(int v)
                      throws IOException
将一个 short 值以 2-byte 值形式写入基础输出流中,先写入高字节。如果没有抛出异常,则计数器 written 增加 2

指定者:
接口 DataOutput 中的 writeShort
参数:
v - 要写入的 short 值。
抛出:
IOException - 如果发生 I/O 错误。
另请参见:
FilterOutputStream.out

writeChar

public final void writeChar(int v)
                     throws IOException
将一个 char 值以 2-byte 值形式写入基础输出流中,先写入高字节。如果没有抛出异常,则计数器 written 增加 2

指定者:
接口 DataOutput 中的 writeChar
参数:
v - 要写入的 char 值。
抛出:
IOException - 如果发生 I/O 错误。
另请参见:
FilterOutputStream.out

writeInt

public final void writeInt(int v)
                    throws IOException
将一个 int 值以 4-byte 值形式写入基础输出流中,先写入高字节。如果没有抛出异常,则计数器 written 增加 4

指定者:
接口 DataOutput 中的 writeInt
参数:
v - 要写入的 int 值。
抛出:
IOException - 如果发生 I/O 错误。
另请参见:
FilterOutputStream.out

writeLong

public final void writeLong(long v)
                     throws IOException
将一个 long 值以 8-byte 值形式写入基础输出流中,先写入高字节。如果没有抛出异常,则计数器 written 增加 8

指定者:
接口 DataOutput 中的 writeLong
参数:
v - 要写入的 long 值。
抛出:
IOException - 如果发生 I/O 错误。
另请参见:
FilterOutputStream.out

writeFloat

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)

writeDouble

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)

writeBytes

public final void writeBytes(String s)
                      throws IOException
将字符串按字节顺序写出到基础输出流中。按顺序写出字符串中每个字符,丢弃其八个高位。如果没有抛出异常,则计数器 written 增加 s 的长度。

指定者:
接口 DataOutput 中的 writeBytes
参数:
s - 要写入的字节字符串。
抛出:
IOException - 如果发生 I/O 错误。
另请参见:
FilterOutputStream.out

writeChars

public final void writeChars(String s)
                      throws IOException
将字符串按字符顺序写入基础输出流。通过 writeChar 方法将每个字符写入数据输出流。如果没有抛出异常,则计数器 written 增加 s 长度的两倍。

指定者:
接口 DataOutput 中的 writeChars
参数:
s - 要写入的 String 值。
抛出:
IOException - 如果发生 I/O 错误。
另请参见:
writeChar(int), FilterOutputStream.out

writeUTF

public final void writeUTF(String str)
                    throws IOException
以与机器无关方式使用 UTF-8 修改版编码将一个字符串写入基础输出流。

首先,通过 writeShort 之类的方法将两个字节写入输出流,表示后跟的字节数。该值是实际写出的字节数,不是字符串的长度。根据此长度,使用字符的 UTF-8 修改版编码按顺序输出字符串的每个字符。如果没有抛出异常,则计数器 written 增加写入输出流的字节总数。该值至少是 2 加 str 的长度,最多是 2 加 str 的三倍长度。

指定者:
接口 DataOutput 中的 writeUTF
参数:
str - 要写入的字符串。
抛出:
IOException - 如果发生 I/O 错误。

size

public final int size()
返回计数器 written 的当前值,即到目前为止写入此数据输出流的字节数。如果计数器溢出,则将它包装成 Integer.MAX_VALUE。

返回:
written 字段的值。
另请参见:
written

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策