所有类


java.io
类 ByteArrayOutputStream

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

public class ByteArrayOutputStream
   
   
   
   
   
extends OutputStream

此类实现了一个输出流,其中的数据被写入一个字节数组。缓冲区会随着数据的不断写入而自动增长。可使用 toByteArray()toString() 检索数据。

关闭 ByteArrayOutputStream 无效。在关闭此流后且没有生成 IOException 时,可以调用此类中的该方法。

从以下版本开始:
JDK1.0

字段摘要
protected  byte[]buf
          存储数据的缓冲区。
protected  intcount
          缓冲区中的有效字节数。
 
构造方法摘要
ByteArrayOutputStream()
          创建一个新的字节数组输出流。
ByteArrayOutputStream(int size)
          创建一个新的字节数组输出流,它具有指定大小的缓冲区容量(以字节为单位)。
 
方法摘要
 voidclose()
          关闭 ByteArrayOutputStream 无效。
 voidreset()
          将此字节数组输出流的 count 字段重置为零,从而丢弃输出流中目前已累积的所有输出。
 intsize()
          返回缓冲区的当前大小。
 byte[]toByteArray()
          创建一个新分配的字节数组。
 StringtoString()
          将缓冲区的内容转换为字符串,根据平台的默认字符编码将字节转换成字符。
 StringtoString(int hibyte)
          已过时。 此方法无法将字节正确转换为字符。从 JDK 1.1 开始,完成该转换的首选方法是通过 toString(String enc) 方法(使用一个编码名称参数),或 toString() 方法(使用平台的默认字符编码)。
 StringtoString(String enc)
          将缓冲区的内容转换为字符串,根据指定的字符编码将字节转换成字符。
 voidwrite(byte[] b, int off, int len)
          将指定字节数组中从偏移量 off 开始的 len 个字节写入此字节数组输出流。
 voidwrite(int b)
          将指定的字节写入此字节数组输出流。
 voidwriteTo(OutputStream out)
          将此字节数组输出流的全部内容写入到指定的输出流参数中,这与使用 out.write(buf, 0, count) 调用该输出流的 write 方法效果一样。
 
从类 java.io.OutputStream 继承的方法
flush, write
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

字段详细信息

buf

protected byte[] buf
存储数据的缓冲区。


count

protected int count
缓冲区中的有效字节数。

构造方法详细信息

ByteArrayOutputStream

public ByteArrayOutputStream()
创建一个新的字节数组输出流。缓冲区的容量最初是 32 字节,如有必要可增加其大小。


ByteArrayOutputStream

public ByteArrayOutputStream(int size)
创建一个新的字节数组输出流,它具有指定大小的缓冲区容量(以字节为单位)。

参数:
size - 初始大小。
抛出:
IllegalArgumentException - 如果 size 为负。
方法详细信息

write

public void write(int b)
将指定的字节写入此字节数组输出流。

指定者:
OutputStream 中的 write
参数:
b - 要写入的字节。

write

public void write(byte[] b,
                  int off,
                  int len)
将指定字节数组中从偏移量 off 开始的 len 个字节写入此字节数组输出流。

覆盖:
OutputStream 中的 write
参数:
b - 数据。
off - 数据的初始偏移量。
len - 要写入的字节数。

writeTo

public void writeTo(OutputStream out)
             throws IOException
将此字节数组输出流的全部内容写入到指定的输出流参数中,这与使用 out.write(buf, 0, count) 调用该输出流的 write 方法效果一样。

参数:
out - 要写入数据的输出流。
抛出:
IOException - 如果发生 I/O 错误。

reset

public void reset()
将此字节数组输出流的 count 字段重置为零,从而丢弃输出流中目前已累积的所有输出。通过重新使用已分配的缓冲区空间,可以再次使用该输出流。

另请参见:
ByteArrayInputStream.count

toByteArray

public byte[] toByteArray()
创建一个新分配的字节数组。其大小是此输出流的当前大小,并且缓冲区的有效内容已复制到该数组中。

返回:
以字节数组的形式返回此输出流的当前内容。
另请参见:
size()