描述
這個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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。