1. 程式人生 > >Azure系列2.1.4 —— BlobInputStream

Azure系列2.1.4 —— BlobInputStream

n) mea 之前 cond 標記 nal 上下文對象 表示 ces

(小弟自學Azure,文中有不正確之處,請路過各位大神指正。)

Package

  com.microsoft.azure.storage.blob

Mean

  提供一個輸入流來讀取給定的blob資源。

Inherited

  java.lang.Object ————> InputStream ————> BlobInputStream

Constructors

  protected BlobInputStream(final CloudBlob parentBlob, final AccessCondition accessCondition, final BlobRequestOptions options, final OperationContext opContext)

    1. parentBlob——表示這個流與之關聯的blob。
    2. accessCondition——blob的訪問條件
    3. Options——表示該請求的任何其他選項。
    4. opContext——用於跟蹤操作執行的操作上下文對象。

Method

    1. public synchronized int available()

   返回可以從該輸入流讀取(或跳過)的字節數的估計數,而不會在下一次調用此輸入流的方法時阻塞。下一個調用可能是相同的線程或其他線程。這許多字節的單個讀或跳過不會阻塞,但是可以讀取或跳過更少的字節。

    2. public synchronized void close()

 關閉此輸入流並釋放與流相關的任何系統資源。

    3. public synchronized void mark(final int readlimit)

   標記這個輸入流中的當前位置。對重置方法的後續調用將在最後一個標記的位置重新定位該流,以便隨後的讀取重新讀取相同的字節。

   Readlimit——表示在標記位置無效之前可以讀取的最大字節限制。

    4. public boolean markSupported()

   測試這個輸入流是否支持標記和重置方法。是否支持標記和重置是特定輸入流實例的不變屬性。InputStream的marksupport方法返回false。

    5. public synchronized void reset()

   將此流重新定位到在此輸入流上最後調用標記方法時的位置。註意重新定位blob讀取流將禁用blob MD5檢查。

    6. public synchronized long skip(final long n)

   跳過此輸入流並丟棄n字節的數據。由於各種原因,skip方法可能會跳過一些較小的字節數,可能是0。這可能是由許多條件造成的;在n字節被跳過之前到達文件的末尾只是一種可能。跳過的實際字節數將返回。

   如果n是負數,則不會跳過任何字節。註意重新定位blob讀取流將禁用blob MD5檢查。

    7. public int read()

   從輸入流中讀取下一個字節的數據。值字節在0到255範圍內作為整數返回。如果沒有可用的字節,因為已經到達了流的末端,則返回值-1。此方法將阻塞直到輸入數據可用,檢測到流的末尾,或拋出異常。

    8. public int read(final byte[] b)

   從輸入流中讀取一些字節並將它們存儲到緩沖區數組中。返回實際讀取的字節數為整數。這個方法會阻塞直到輸入數據可用,檢測到文件的結束,或者拋出異常。

   如果長度為0,則不讀取字節,返回0;否則,就會嘗試讀取至少一個字節。如果沒有字節可用,因為流位於文件的末尾,則返回值-1;否則,讀取並存儲至少一個字節。

    9. public int read(final byte[] b, final int off, final int len)

   從輸入流讀取數據字節為字節數組。讀取字節數,但可以讀取較小的數字。實際上讀取的字節數作為一個整數返回。這個方法會阻塞直到輸入數據可用,檢測到文件的結束,或者拋出異常。

   如果是零,則不讀取字節,返回0;否則,就會嘗試讀取至少一個字節。如果沒有字節可用,因為流在文件的末尾,則返回值-1;否則,讀取並存儲至少一個字節。第一個字節讀取被存儲到元素中,下一個字節被存儲到元素中。

b——表示數據讀取的緩沖區的字節數組。

off——表示數據寫入的字節數組中的開始偏移量的整數。

  len——表示要讀取的最大字節數的整數。

Azure系列2.1.4 —— BlobInputStream