JavaTM 2 Platform
Standard Ed. 6

javax.imageio.stream
類別 MemoryCacheImageInputStream

java.lang.Object
  繼承者 javax.imageio.stream.ImageInputStreamImpl
      繼承者 javax.imageio.stream.MemoryCacheImageInputStream
所有已實作的介面:
DataInput, ImageInputStream

public class MemoryCacheImageInputStream
extends ImageInputStreamImpl

從常規 InputStream 獲取輸入的 ImageInputStream 的實作。記憶體緩衝區用於快取記憶體(至少)丟棄位置和當前讀取位置之間的資料。

一般而言,從常規 InputStream 進行讀取時最好使用 FileCacheImageInputStream。提供此類別用於不可能創建可寫入臨時檔案的情況。


欄位摘要
 
從類別 javax.imageio.stream.ImageInputStreamImpl 繼承的欄位
bitOffset, byteOrder, flushedPos, streamPos
 
建構子摘要
MemoryCacheImageInputStream(InputStream stream)
          建構一個將從給定 InputStream 進行讀取的 MemoryCacheImageInputStream
 
方法摘要
 void close()
          關閉此 MemoryCacheImageInputStream,釋放快取記憶體。
protected  void finalize()
          在垃圾回收前結束此物件。
 void flushBefore(long pos)
          丟棄所指示位置之前的串流初始部分。
 boolean isCached()
          返回 true,因為此 ImageInputStream為了允許逆向尋找而快取記憶體了資料。
 boolean isCachedFile()
          返回 false,因為此 ImageInputStream 不維護檔案快取記憶體。
 boolean isCachedMemory()
          返回 true,因為此 ImageInputStream 維護主存快取記憶體。
 int read()
          從串流中讀取單個位元組,並以 int(0 到 255 之間)形式返回該位元組。
 int read(byte[] b, int off, int len)
          從串流中讀取至多 len 個位元組,並將其存儲到 b 中(從 off 索引處開始)。
 
從類別 javax.imageio.stream.ImageInputStreamImpl 繼承的方法
checkClosed, flush, getBitOffset, getByteOrder, getFlushedPosition, getStreamPosition, length, mark, read, readBit, readBits, readBoolean, readByte, readBytes, readChar, readDouble, readFloat, readFully, readFully, readFully, readFully, readFully, readFully, readFully, readFully, readInt, readLine, readLong, readShort, readUnsignedByte, readUnsignedInt, readUnsignedShort, readUTF, reset, seek, setBitOffset, setByteOrder, skipBytes, skipBytes
 
從類別 java.lang.Object 繼承的方法
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

建構子詳細資訊

MemoryCacheImageInputStream

public MemoryCacheImageInputStream(InputStream stream)
建構一個將從給定 InputStream 進行讀取的 MemoryCacheImageInputStream

參數:
stream - 要從其進行讀取的 InputStream
拋出:
IllegalArgumentException - 如果 streamnull
方法詳細資訊

read

public int read()
         throws IOException
從類別 ImageInputStreamImpl 複製的描述
從串流中讀取單個位元組,並以 int(0 到 255 之間)形式返回該位元組。 如果到達 EOF,則返回 -1

子類別必須提供此方法的實作。子類別實作在退出前應該更新串流位置。

在發生讀取前,串流中的位偏移量必須被重置為 0。

指定者:
介面 ImageInputStream 中的 read
指定者:
類別 ImageInputStreamImpl 中的 read
返回:
串流中下一個位元組的值;如果到達 EOF,則返回 -1
拋出:
IOException - 如果串流已經被關閉。

read

public int read(byte[] b,
                int off,
                int len)
         throws IOException
從類別 ImageInputStreamImpl 複製的描述
從串流中讀取至多 len 個位元組,並將其存儲到 b 中(從 off 索引處開始)。如果由於到達串流末尾而沒有讀取任何位元組,則返回 -1

在發生讀取前,串流中的位偏移量必須被重置為 0。

子類別必須提供此方法的實作。子類別實作在退出前應該更新串流位置。

指定者:
介面 ImageInputStream 中的 read
指定者:
類別 ImageInputStreamImpl 中的 read
參數:
b - 用來接收寫入的位元組陣列。
off - b 中要寫入的起始位置。
len - 要讀取的最大位元組數。
返回:
實際讀取的位元組數;或者 -1,指示 EOF。
拋出:
IOException - 如果發生 I/O 錯誤。

flushBefore

public void flushBefore(long pos)
                 throws IOException
從介面 ImageInputStream 複製的描述
丟棄所指示位置之前的串流初始部分。試圖尋找串流的刷新部分中的偏移量將導致拋出 IndexOutOfBoundsException

調用 flushBefore 可允許實作此介面的類別釋放存儲串流中的資料所使用的資源,如記憶體和磁碟空間。

指定者:
介面 ImageInputStream 中的 flushBefore
覆寫:
類別 ImageInputStreamImpl 中的 flushBefore
參數:
pos - 一個 long,它包含要刷新的串流前綴的長度。
拋出:
IOException - 如果發生 I/O 錯誤。

isCached

public boolean isCached()
返回 true,因為此 ImageInputStream為了允許逆向尋找而快取記憶體了資料。

指定者:
介面 ImageInputStream 中的 isCached
覆寫:
類別 ImageInputStreamImpl 中的 isCached
返回:
true
另請參見:
isCachedMemory(), isCachedFile()

isCachedFile

public boolean isCachedFile()
返回 false,因為此 ImageInputStream 不維護檔案快取記憶體。

指定者:
介面 ImageInputStream 中的 isCachedFile
覆寫:
類別 ImageInputStreamImpl 中的 isCachedFile
返回:
false
另請參見:
isCached(), isCachedMemory()

isCachedMemory

public boolean isCachedMemory()
返回 true,因為此 ImageInputStream 維護主存快取記憶體。

指定者:
介面 ImageInputStream 中的 isCachedMemory
覆寫:
類別 ImageInputStreamImpl 中的 isCachedMemory
返回:
true
另請參見:
isCached(), isCachedFile()

close

public void close()
           throws IOException
關閉此 MemoryCacheImageInputStream,釋放快取記憶體。但不關閉源 InputStream

指定者:
介面 ImageInputStream 中的 close
覆寫:
類別 ImageInputStreamImpl 中的 close
拋出:
IOException - 如果發生 I/O 錯誤。

finalize

protected void finalize()
                 throws Throwable
在垃圾回收前結束此物件。調用 close 方法來關閉所有開啟的輸入源。不應該從應用程序程式碼調用此方法。

覆寫:
類別 ImageInputStreamImpl 中的 finalize
拋出:
Throwable - 如果在父級類別終止過程中發生錯誤。

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only