java.io.InputStream.read和java.io.OutputStream.write
2011-08-09 12:34
573 查看
public int read(byte[] b, int off, int len) throws IOException
将输入流中最多
len个数据字节读入 byte 数组。尝试读取
len个字节,但读取的字节也可能小于该值。以整数形式返回实际读取的字节数。
在输入数据可用、检测到流末尾或者抛出异常前,此方法一直阻塞。
如果
len为 0,则不读取任何字节并返回
0;否则,尝试读取至少一个字节。如果因为流位于文件末尾而没有可用的字节,则返回值
-1;否则,至少读取一个字节并将其存储在
b中。
将读取的第一个字节存储在元素
b[off]中,下一个存储在
b[off+1]中,依次类推。读取的字节数最多等于
len。设 k为实际读取的字节数;这些字节将存储在
b[off]到
b[off+k
-1]的元素中,不影响
b[off+k
]到
b[off+len-1]的元素。
在任何情况下,
b[0]到
b[off]的元素以及
b[off+len]到
b[b.length-1]的元素都不会受到影响。
类
InputStream的
read(b,
off,
len)方法重复调用方法
read()。如果第一次这样的调用导致
IOException,则从对
read(b,
off,
len)方法的调用中返回该异常。如果对
read()的任何后续调用导致
IOException,则捕获该异常并将其视为到达文件末尾;到达该点时读取的字节存储在
b中,并返回发生异常之前读取的字节数。在已读取输入数据
len的请求数量、检测到文件结束标记、抛出异常前,此方法的默认实现将一直阻塞。建议子类提供此方法更为有效的实现。
参数:
b- 读入数据的缓冲区。
off- 数组
b中将写入数据的初始偏移量。
len- 要读取的最大字节数。
返回:
读入缓冲区的总字节数;如果因为已到达流末尾而不再有数据可用,则返回
-1
public void write(byte[] b, int off, int len) throws IOException
将指定 byte 数组中从偏移量
off开始的
len个字节写入此输出流。
write(b, off, len)的常规协定是:将数组
b中的某些字节按顺序写入输出流;元素
b[off]是此操作写入的第一个字节,
b[off+len-1]是此操作写入的最后一个字节。
OutputStream的
write方法对每个要写出的字节调用一个参数的 write 方法。建议子类重写此方法并提供更有效的实现。
如果
b为
null,则抛出
NullPointerException。
如果
off为负,或
len为负,或者
off+len大于数组
b的长度,则抛出 IndexOutOfBoundsException。
参数:
b- 数据。
off- 数据中的初始偏移量。
len- 要写入的字节数。
抛出:
IOException-
如果发生 I/O 错误。尤其是,如果关闭了输出流,则抛出
IOException。
相关文章推荐
- io读取的输入输出,InputStream ,OutputStream 的read(),write()方法的详细介绍
- java.io.ObjectOutputStream.putFields()和java.io.ObjectInputStream. readFields()
- Java使用ObjectOutputStream和ObjectInputStream序列号对象报java.io.EOFException异常的解决方法
- 我的Java开发学习之旅------>Java使用ObjectOutputStream和ObjectInputStream序列号对象报java.io.EOFException异常的解决方法
- 2 Java IO:InputStream 和 OutputStream
- Java IO ---学习笔记(InputStream 和 OutputStream)
- Java IO--对象序列化Serializable、ObjectOutputStream、ObjectInputStream、transient
- Java IO 文件流的读,文件流写Writer,Reader,InputStream,OutputStream封装
- Java IO - InputStream&OutputStream
- Java_io体系之ObjectInputStream、ObjectOutputStream简介、走进源码及示例——11
- Java之IO(一)InputStream和OutputStream
- java.io.EOFException java.io.ObjectInputStream$PeekInputStream.readFully 错误
- Java IO--字节流与字符流OutputStream/InputStream/Writer/Reader
- java.io.EOFException java.io.ObjectInputStream$PeekInputStream.readFully 错误
- Java IO操作——字节流(OutputStream、InputStream)和字符流(Writer、Reader)
- Java IO操作——字节-字符转换流(OutputStreamWriter、InputStreamReader)
- Java:IO流之字节流InputStream、OutputStream详解
- JavaIO 2—流式I/O之InputStream、OutputStream介绍
- java.io中的InputStream and OutputStream输入输出是相对当前编辑的程序而言的
- Java IO 字节流 InputStream和OutputStream