描述
这个java.io.InputStream.read(byte[] b, int off, int len)方法从输入流中读取最多 len 个字节的数据到一个字节数组中。如果参数 len 为零,则不读取字节并返回 0;否则会尝试读取至少一个字节。如果流位于文件末尾,则返回值是 -1。
声明
以下是声明java.io.InputStream.read(byte[] b, int off, int len)方法 -
public int read(byte[] b, int off, int len)
参数
b− 目标字节数组。
off− 数组 b 中写入数据的起始偏移量。
len− 要读取的字节数。
返回值
该方法返回读入缓冲区的总字节数,如果由于已到达流末尾而没有更多数据,则返回 -1。
异常
IOException− 如果发生 I/O 错误。
NullPointerException− 如果 b 为空。
IndexOutOfBoundsException− 如果off 为负,len 为负,或者len 大于b.length - off。
示例
下面的例子展示了 java.io.InputStream.read(byte[] b, int off, int len) 方法的用法。
package com.tutorialspoint;
import java.io.FileInputStream;
import java.io.InputStream;
public class InputStreamDemo {
public static void main(String[] args) throws Exception {
InputStream is = null;
byte[] buffer = new byte[5];
char c;
try {
// new input stream created
is = new FileInputStream("C://test.txt");
System.out.println("Characters printed:");
// read stream data into buffer
is.read(buffer, 2, 3);
// for each byte in the buffer
for(byte b:buffer) {
// convert byte to character
if(b == 0)
// if b is empty
c = '-';
else
// if b is read
c = (char)b;
// prints character
System.out.print(c);
}
} catch(Exception e) {
// if any I/O error occurs
e.printStackTrace();
} finally {
// releases system resources associated with this stream
if(is!=null)
is.close();
}
}
}
假设我们有一个文本文件c:/test.txt,其内容如下。该文件将用作我们示例程序的输入 -
ABCDE
让我们编译并运行上面的程序,这将产生以下结果 -
Characters printed: --ABC
相关用法
- Java Java.io.InputStream.reset()用法及代码示例
- Java Java.io.InputStream.close()用法及代码示例
- Java Java.io.InputStream.skip()用法及代码示例
- Java Java.io.InputStream.mark()用法及代码示例
- Java Java.io.InputStream.markSupported()用法及代码示例
- Java Java.io.InputStreamReader.read()用法及代码示例
- Java Java.io.InputStreamReader.close()用法及代码示例
- Java Java.io.InputStreamReader.ready()用法及代码示例
- Java Java.io.InputStreamReader.getEncoding()用法及代码示例
- Java Java.io.CharArrayReader.read()用法及代码示例
- Java Java.io.RandomAccessFile.readLine()用法及代码示例
- Java Java.io.StreamTokenizer.ordinaryChar()用法及代码示例
- Java Java.io.StreamTokenizer.resetSyntax()用法及代码示例
- Java Java.io.PipedReader.close()用法及代码示例
- Java Java.io.Reader.skip()用法及代码示例
- Java Java.io.ObjectOutputStream.writeObject()用法及代码示例
- Java Java.io.PrintWriter.setError()用法及代码示例
- Java Java.io.PrintStream.write()用法及代码示例
- Java Java.io.File.canExecute()用法及代码示例
- Java Java.io.File.listFiles()用法及代码示例
注:本文由纯净天空筛选整理自 Java.io.InputStream.read() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。