新聞中心
ByteArrayInputStream

成都創(chuàng)新互聯公司專注為客戶提供全方位的互聯網綜合服務,包含不限于成都網站建設、成都做網站、崇州網絡推廣、微信平臺小程序開發(fā)、崇州網絡營銷、崇州企業(yè)策劃、崇州品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯公司為所有大學生創(chuàng)業(yè)者提供崇州建站搭建服務,24小時服務熱線:18980820575,官方網址:www.cdcxhl.com
java.lang.Object
|---java.io.InputStream
|---|---java.io.ByteArrayInputStream
public class ByteArrayInputStream
extends InputStreamByteArrayInputStream 包含一個內部緩沖區(qū),其中包含可以從流中讀取的字節(jié)。 內部計數器跟蹤讀取方法提供的下一個字節(jié)。
關閉 ByteArrayInputStream 無效。 可以在流關閉后調用此類中的方法,而不會生成 IOException。
Since:
JDK1.0
字段摘要
| 修飾符和類型 | 字段 | 描述 |
|---|---|---|
| protected byte[] | buf | 由流的創(chuàng)建者提供的字節(jié)數組。 |
| protected int | count | 比輸入流緩沖區(qū)中最后一個有效字符大一的索引。 |
| protected int | mark | 流中當前標記的位置。 |
| protected int | pos | 要從輸入流緩沖區(qū)讀取的下一個字符的索引。 |
構造函數摘要
| 構造函數 | 描述 |
|---|---|
| ByteArrayInputStream(byte[] buf) | 創(chuàng)建一個ByteArrayInputStream,使其使用buf作為其緩沖區(qū)陣列。 |
| ByteArrayInputStream(byte[] buf, int offset, int length) | 創(chuàng)建ByteArrayInputStream,使用buf作為其緩沖區(qū)陣列。 |
方法總結
| 修飾符和類型 | 方法 | 描述 |
|---|---|---|
| int | available() | 返回可以從該輸入流中讀?。ɑ蛱^)的剩余字節(jié)數。 |
| void | close() | 關閉一個ByteArrayInputStream沒有任何效果。 |
| void | mark(int readAheadLimit) | 設置流中的當前標記位置。 |
| boolean | markSupported() | 測試這個InputStream是否支持mark/reset。 |
| int | read() | 從這個輸入流中讀取下一個字節(jié)的數據。 |
| int | read(byte[] b, int off, int len) | 從這個輸入流中讀取最多為len字節(jié)的數據到一個字節(jié)數組。 |
| void | reset() | 將緩沖區(qū)重置到標記位置。 |
| long | skip(long n) | 從這個輸入流中跳過n個字節(jié)的輸入。 |
| 從java.io.InputStream類繼承的方法 |
|---|
| read |
| 從java.lang.Object類繼承的方法 |
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
字段詳細信息
buf
protected byte[] buf
一個由流的創(chuàng)建者提供的字節(jié)數組。buf[0]到buf[count-1]元素是唯一可以從流中讀取的字節(jié);buf[pos]元素是下一個要讀取的字節(jié)。
count
protected int count
比輸入流緩沖區(qū)中最后一個有效字符大一的索引。這個值應該總是非負的,并且不大于buf的長度。它比可以從輸入流緩沖區(qū)讀取的buf中最后一個字節(jié)的位置大一。
mark
protected int mark
當前在流中標記的位置。ByteArrayInputStream對象在構造時默認標記在零位置。它們可以通過mark()方法標記在緩沖區(qū)的另一個位置。當前的緩沖區(qū)位置被reset()方法設置為這個點。
如果沒有設置標記,那么標記的值就是傳遞給構造函數的偏移量(如果沒有提供偏移量,則為0)。
Since:
JDK1.1
pos
protected int pos
從輸入流緩沖區(qū)讀取下一個字符的索引。這個值應該總是非負的,并且不大于count的值。要從輸入流緩沖區(qū)讀取的下一個字節(jié)將是buf[pos]。
構造函數詳細信息
ByteArrayInputStream
public ByteArrayInputStream(byte[] buf)
創(chuàng)建一個ByteArrayInputStream,使其使用buf作為其緩沖區(qū)陣列。緩沖區(qū)數組不會被復制。pos的初始值是0,count的初始值是buf的長度。
參數。
| 參數名稱 | 參數描述 |
|---|---|
| buf | 輸入緩沖區(qū)。 |
ByteArrayInputStream
public ByteArrayInputStream(byte[] buf, int offset, int length)
創(chuàng)建ByteArrayInputStream,使用buf作為其緩沖陣列。pos的初始值是offset,count的初始值是offset+length和buf.length的最小值。緩沖區(qū)數組不被復制。緩沖區(qū)的標記被設置為指定的偏移量。
參數。
| 參數名稱 | 參數描述 |
|---|---|
| buf | 輸入緩沖區(qū)。 |
| offset | 要讀取的第一個字節(jié)在緩沖區(qū)的偏移量。 |
| length | 從緩沖區(qū)讀取的最大字節(jié)數。 |
方法詳情
read
public int read()
從這個輸入流中讀取下一個字節(jié)的數據。字節(jié)值以0-255范圍內的一個int形式返回。如果因為已經到達流的末端而沒有可用的字節(jié),將返回值-1。
這個讀取方法不能阻塞。
指定的對象:
read in class InputStream
返回:
下一個字節(jié)的數據,或者如果已經到達了流的末端,則返回-1。
read
public int read(byte[] b, int off, int len)
從這個輸入流中讀取最多為len字節(jié)的數據到一個字節(jié)數組。如果pos等于count,則返回-1,表示文件結束。否則,讀取的字節(jié)數k等于len和count-pos中較小的那個。如果k是正數,那么buf[pos]到buf[pos+k-1]的字節(jié)將以System.arraycopy的方式被復制到b[off]到b[off+k-1]。數值k被添加到pos中,k被返回。
這個讀取方法不能阻塞。
重寫。
read 在類InputStream中
參數。
| 參數名稱 | 參數描述 |
|---|---|
| b | 讀取數據的緩沖區(qū)。 |
| off | 目的數組中的起始偏移量 b |
| len | 讀取的最大字節(jié)數。 |
返回:
讀入緩沖區(qū)的總字節(jié)數,如果沒有更多的數據,因為已經達到了流的終點,則返回-1。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| NullPointerException | 如果b為空。 |
| IndexOutOfBoundsException | 如果off為負數,len為負數,或者len大于b.length - off |
skip
public long skip(long n)
從這個輸入流中跳過n個字節(jié)的輸入。如果到了輸入流的末端,可能會跳過更少的字節(jié)。被跳過的實際字節(jié)數k等于n和count-pos中的較小值。k的值被加到pos中,k被返回。
覆蓋。
skip in class InputStream
參數。
| 參數名稱 | 參數描述 |
|---|---|
| n | 要跳過的字節(jié)數。 |
返回:
實際跳過的字節(jié)數。
available
public int available()
返回可以從該輸入流中讀?。ɑ蛱^)的剩余字節(jié)數。
返回的值是count - pos,即從輸入緩沖區(qū)讀出的剩余字節(jié)數。
重寫:
在類InputStream中可用
返回:
可以從這個輸入流中讀?。ɑ蛱^)的剩余字節(jié)數,不存在阻塞問題。
markSupported
public boolean markSupported()
測試這個InputStream是否支持mark/reset。ByteArrayInputStream的markSupported方法總是返回true。
重寫:
markSupported in class InputStream
返回:
true 如果這個流實例支持mark和reset方法;否則false。
Since:
JDK1.1
mark
public void mark(int readAheadLimit)
設置流中的當前標記位置。ByteArrayInputStream對象在構造時默認被標記在0的位置。他們可以通過這個方法在緩沖區(qū)內的其他位置進行標記。
如果沒有設置標記,那么標記的值就是傳遞給構造函數的偏移量(如果沒有提供偏移量則為0)。
注意:這個類的readAheadLimit沒有意義。
重寫:
mark in class InputStream
參數:
| 參數名稱 | 參數描述 |
|---|---|
| readAheadLimit | 在標記位置變得無效之前可以讀取的最大限制字節(jié)數。 |
Since:
JDK1.1
reset
public void reset()
將緩沖區(qū)重置到標記的位置。標記的位置是0,除非標記了另一個位置或者在構造函數中指定了一個偏移。
重述:
reset in class InputStream
close
public void close() throws IOException
關閉ByteArrayInputStream沒有效果。該類中的方法可以在流關閉后調用,而不會生成IOException。
規(guī)定:
關閉接口自動關閉
規(guī)定:
close in interface可關閉
覆蓋:
在類InputStream中關閉
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IOException | 如果發(fā)生I/O錯誤。 |
文章名稱:創(chuàng)新互聯鴻蒙OS教程:鴻蒙OSByteArrayInputStream
本文網址:http://fisionsoft.com.cn/article/cdsjggd.html


咨詢
建站咨詢
