java.applet

java.awt

java.awt.color

java.awt.datatransfer

java.awt.dnd

java.awt.event

java.awt.font

java.awt.geom

java.awt.im

java.awt.im.spi

java.awt.image

java.awt.image.renderable

java.awt.print

java.beans

java.beans.beancontext

java.io

java.lang

java.lang.annotation

java.lang.instrument

java.lang.management

java.lang.ref

java.lang.reflect

java.math

java.net

java.nio

java.nio.channels

java.nio.channels.spi

java.nio.charset

java.nio.charset.spi

java.rmi

java.rmi.activation

java.rmi.dgc

java.rmi.registry

java.rmi.server

java.security

java.security.acl

java.security.cert

java.security.interfaces

java.security.spec

java.sql

java.text

java.util

java.util.concurrent

java.util.concurrent.atomic

java.util.concurrent.locks

java.util.jar

java.util.logging

java.util.prefs

java.util.regex

java.util.zip

javax.accessibility

javax.activity

javax.crypto

javax.crypto.interfaces

javax.crypto.spec

javax.imageio

javax.imageio.event

javax.imageio.metadata

javax.imageio.plugins.bmp

javax.imageio.plugins.jpeg

javax.imageio.spi

javax.imageio.stream

javax.management

javax.management.loading

javax.management.modelmbean

javax.management.monitor

javax.management.openmbean

javax.management.relation

javax.management.remote

javax.management.remote.rmi

javax.management.timer

javax.naming

javax.naming.directory

javax.naming.event

javax.naming.ldap

javax.naming.spi

javax.net

javax.net.ssl

javax.print

javax.print.attribute

javax.print.attribute.standard

javax.print.event

javax.rmi

javax.rmi.CORBA

javax.rmi.ssl

javax.security.auth

javax.security.auth.callback

javax.security.auth.kerberos

javax.security.auth.login

javax.security.auth.spi

javax.security.auth.x500

javax.security.cert

javax.security.sasl

javax.sound.midi

javax.sound.midi.spi

javax.sound.sampled

javax.sound.sampled.spi

javax.sql

javax.sql.rowset

javax.sql.rowset.serial

javax.sql.rowset.spi

javax.swing

javax.swing.border

javax.swing.colorchooser

javax.swing.event

javax.swing.filechooser

javax.swing.plaf

javax.swing.plaf.basic

javax.swing.plaf.metal

javax.swing.plaf.multi

javax.swing.plaf.synth

javax.swing.table

javax.swing.text

javax.swing.text

javax.swing.text.parser

javax.swing.text.rtf

javax.swing.tree

javax.swing.undo

javax.transaction

javax.transaction.xa

javax.xml

javax.xml.datatype

javax.xml.namespace

javax.xml.parsers

javax.xml.transform

javax.xml.transform.dom

javax.xml.transform.sax

javax.xml.transform.stream

javax.xml.validation

javax.xml.xpath

org.ietf.jgss

org.omg.CORBA

org.omg.CORBA_2_3

org.omg.CORBA_2_3.portable

org.omg.CORBA.DynAnyPackage

org.omg.CORBA.ORBPackage

org.omg.CORBA.portable

org.omg.CORBA.TypeCodePackage

org.omg.CosNaming

org.omg.CosNaming.NamingContextExtPackage

org.omg.CosNaming.NamingContextPackage

org.omg.Dynamic

org.omg.DynamicAny

org.omg.DynamicAny.DynAnyFactoryPackage

org.omg.DynamicAny.DynAnyPackage

org.omg.IOP

org.omg.IOP.CodecFactoryPackage

org.omg.IOP.CodecPackage

org.omg.Messaging

org.omg.PortableInterceptor

org.omg.PortableInterceptor.ORBInitInfoPackage

org.omg.PortableServer

org.omg.PortableServer.CurrentPackage

org.omg.PortableServer.POAManagerPackage

org.omg.PortableServer.POAPackage

org.omg.PortableServer.portable

org.omg.PortableServer.ServantLocatorPackage

org.omg.SendingContext

org.omg.stub.java.rmi

org.w3c.dom

org.w3c.dom.bootstrap

org.w3c.dom.events

org.w3c.dom.ls

org.xml.sax

org.xml.sax.ext

org.xml.sax.helpers

allclasses-frame

allclasses-noframe

constant-values

deprecated-list

help-doc

JavaTM 2 Platform
Standard Ed. 5.0

java.io
类 ByteArrayInputStream

java.lang.Object
  继承者 java.io.InputStream
      继承者 java.io.ByteArrayInputStream
所有已实现的接口:
Closeable

public class ByteArrayInputStream
extends InputStream

ByteArrayInputStream 包含一个内部缓冲区,该缓冲区存储从流中读取的字节。内部计数器跟踪 read 方法要提供的下一个字节。

关闭 ByteArrayInputStream 无效。此类中的方法在关闭此流后仍可被调用,而不会产生任何 IOException

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

字段摘要
protected  byte[] buf
          由该流的创建者提供的字节数组。
protected  int count
          比输入流缓冲区中最后一个有效字符的索引大一的索引。
protected  int mark
          流中当前的标记位置。
protected  int pos
          要从输入流缓冲区中读取的下一个字符的索引。
 
构造方法摘要
ByteArrayInputStream(byte[] buf)
          创建一个 ByteArrayInputStream,使用 buf 作为其缓冲区数组。
ByteArrayInputStream(byte[] buf, int offset, int length)
          创建 ByteArrayInputStream,使用 buf 作为其缓冲区数组。
 
方法摘要
 int available()
          返回可不发生阻塞地从此输入流读取的字节数。
 void close()
          关闭 ByteArrayInputStream 无效。
 void mark(int readAheadLimit)
          设置流中的当前标记位置。
 boolean markSupported()
          测试此 InputStream 是否支持 mark/reset。
 int read()
          从此输入流中读取下一个数据字节。
 int read(byte[] b, int off, int len)
          将最多 len 个数据字节从此输入流读入字节数组。
 void reset()
          将缓冲区的位置重置为标记位置。
 long skip(long n)
          从此输入流中跳过 n 个输入字节。
 
从类 java.io.InputStream 继承的方法
read
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

字段详细信息

buf

protected byte[] buf
由该流的创建者提供的字节数组。元素 buf[0]buf[count-1] 是只能从流中读取的字节;元素 buf[pos] 是要读取的下一个字节。


pos

protected int pos
要从输入流缓冲区中读取的下一个字符的索引。此值应该始终是非负数,并且不应大于 count 值。从输入流缓冲区中读取的下一个字节是 buf[pos]


mark

protected int mark
流中当前的标记位置。构造时默认将 ByteArrayInputStream 对象标记在位置零处。通过 mark() 方法可将其标记在缓冲区内的另一个位置处。通过 reset() 方法将当前缓冲区位置设置为此点。

如果尚未设置标记,则标记值是传递给构造方法的偏移量(如果未提供偏移量,则标记值为 0)。

从以下版本开始:
JDK1.1

count

protected int count
比输入流缓冲区中最后一个有效字符的索引大一的索引。此值应该始终是非负数,并且不应大于 buf 的长度。它比 buf 中最后一个可从输入流缓冲区中读取的字节位置大一。

构造方法详细信息

ByteArrayInputStream

public ByteArrayInputStream(byte[] buf)
创建一个 ByteArrayInputStream,使用 buf 作为其缓冲区数组。该缓冲区数组不是复制得到的。pos 的初始值是 0count 的初始值是 buf 的长度。

参数:
buf - 输入缓冲区。

ByteArrayInputStream

public ByteArrayInputStream(byte[] buf,
                            int offset,
                            int length)
创建 ByteArrayInputStream,使用 buf 作为其缓冲区数组。pos 的初始值是 offsetcount 的初始值是 offset+lengthbuf.length 中的最小值。该缓冲区数组不是复制得到的。将该缓冲区的标记设置为指定的偏移量。

参数:
buf - 输入缓冲区。
offset - 缓冲区中要读取的第一个字节的偏移量。
length - 从缓冲区中读取的最大字节数。
方法详细信息

read

public int read()
从此输入流中读取下一个数据字节。返回一个 0255 范围内的 int 字节值。如果因为到达流末尾而没有可用的字节,则返回值 -1

read 方法不会阻塞。

指定者:
InputStream 中的 read
返回:
下一个数据字节,如果到达流末尾,则返回 -1

read

public int read(byte[] b,
                int off,
                int len)
将最多 len 个数据字节从此输入流读入字节数组。如果 pos 等于 count,则返回 -1 指示文件末尾。否则,读取的字节数 k 等于 lencount-pos 的较小者。如果 k 是正数,则以 System.arraycopy 执行的方式将 buf[pos]buf[pos+k-1] 的字节复制到 b[off]b[off+k-1] 中。将值 kpos 相加并返回 k

read 方法不会阻塞。

覆盖:
InputStream 中的 read
参数:
b - 存储读入数据的缓冲区。
off - 数据的起始偏移量。
len - 读取的最大字节数。
返回:
读入缓冲区的总字节数,如果由于已到达流末尾而不再有数据,则返回 -1
另请参见:
InputStream.read()

skip

public long skip(long n)
从此输入流中跳过 n 个输入字节。如果已到达输入流末尾,则可能会跳过较少的字节。实际跳过的字节数 k 等于 ncount-pos 中的较小者。将值 kpos 相加并返回 k

覆盖:
InputStream 中的 skip
参数:
n - 要跳过的字节数。
返回:
跳过的实际字节数。

available

public int available()
返回可不发生阻塞地从此输入流读取的字节数。返回值是 count - pos,它是要从输入缓冲区中读取的剩余字节数。

覆盖:
InputStream 中的 available
返回:
不发生阻塞地从此输入流读取的字节数。

markSupported

public boolean markSupported()
测试此 InputStream 是否支持 mark/reset。ByteArrayInputStreammarkSupported 方法始终返回 true

覆盖:
InputStream 中的 markSupported
返回:
如果此输入流实例支持 mark 和 reset 方法,则返回 true;否则返回 false
从以下版本开始:
JDK1.1
另请参见:
InputStream.mark(int), InputStream.reset()

mark

public void mark(int readAheadLimit)
设置流中的当前标记位置。构造时默认将 ByteArrayInputStream 对象标记在位置零处。通过此方法可将其标记在缓冲区内的另一个位置处。

如果尚未设置标记,则标记值是传递给构造方法的偏移量(如果未提供偏移量,则标记值为 0)。

注:readAheadLimit 对于此类没有意义。

覆盖:
InputStream 中的 mark
参数:
readAheadLimit - 在标记位置失效前可以读取字节的最大限制。
从以下版本开始:
JDK1.1
另请参见:
InputStream.reset()

reset

public void reset()
将缓冲区的位置重置为标记位置。除非已标记了另一个位置,或者在构造方法中指定了一个偏移量,否则该标记位置是 0。

覆盖:
InputStream 中的 reset
另请参见:
InputStream.mark(int), IOException

close

public void close()
           throws IOException
关闭 ByteArrayInputStream 无效。此类中的方法在关闭此流后仍可被调用,而不会产生任何 IOException

指定者:
接口 Closeable 中的 close
覆盖:
InputStream 中的 close
抛出:
IOException - 如果发生 I/O 错误。

JavaTM 2 Platform
Standard Ed. 5.0

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

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