Module java.desktop

Class MemoryCacheImageInputStream

java.lang.Object
javax.imageio.stream.ImageInputStreamImpl
javax.imageio.stream.MemoryCacheImageInputStream
所有已实现的接口:
Closeable, DataInput, AutoCloseable, ImageInputStream

public class MemoryCacheImageInputStream extends ImageInputStreamImpl
从常规InputStream获取输入的ImageInputStream实现。使用内存缓冲区来缓存丢弃位置和当前读取位置之间的数据。

一般来说,当从常规InputStream读取时,最好使用FileCacheImageInputStream。提供此类是为了在无法创建可写临时文件的情况下使用。

  • Constructor Details

    • MemoryCacheImageInputStream

      public MemoryCacheImageInputStream(InputStream stream)
      构造一个将从给定InputStream读取的MemoryCacheImageInputStream
      参数:
      stream - 用于读取的InputStream
      抛出:
      IllegalArgumentException - 如果streamnull
  • Method Details

    • read

      public int read() throws IOException
      从类中复制的描述: ImageInputStreamImpl
      从流中读取一个字节并将其作为介于0和255之间的int返回。如果达到EOF,将返回-1

      子类必须为此方法提供实现。子类实现应在退出前更新流位置。

      在读取发生之前,流中的位偏移必须重置为零。

      指定者:
      read 在接口中 ImageInputStream
      指定者:
      read 在类中 ImageInputStreamImpl
      返回:
      流中下一个字节的值,如果达到EOF,则返回-1
      抛出:
      IOException - 如果流已关闭。
    • read

      public int read(byte[] b, int off, int len) throws IOException
      从类中复制的描述: ImageInputStreamImpl
      从流中读取最多len字节,并将它们存储到从索引off开始的b中。如果由于已到达流的末尾而无法读取任何字节,则返回-1

      在读取发生之前,流中的位偏移必须重置为零。

      子类必须为此方法提供实现。子类实现应在退出前更新流位置。

      指定者:
      read 在接口中 ImageInputStream
      指定者:
      read 在类中 ImageInputStreamImpl
      参数:
      b - 要写入的字节数组。
      off - 要写入的b中的起始位置。
      len - 要读取的最大字节数。
      返回:
      实际读取的字节数,或-1表示EOF。
      抛出:
      IOException - 如果发生I/O错误。
    • isCached

      public boolean isCached()
      返回true,因为此ImageInputStream缓存数据以允许向后查找。
      指定者:
      isCached 在接口中 ImageInputStream
      覆盖:
      isCached 在类中 ImageInputStreamImpl
      返回:
      true
      参见:
    • isCachedFile

      public boolean isCachedFile()
      返回false,因为此ImageInputStream不维护文件缓存。
      指定者:
      isCachedFile 在接口中 ImageInputStream
      覆盖:
      isCachedFile 在类中 ImageInputStreamImpl
      返回:
      false
      参见:
    • isCachedMemory

      public boolean isCachedMemory()
      返回true,因为此ImageInputStream维护主内存缓存。
      指定者:
      isCachedMemory 在接口中 ImageInputStream
      覆盖:
      isCachedMemory 在类中 ImageInputStreamImpl
      返回:
      true
      参见:
    • close

      public void close() throws IOException
      关闭此MemoryCacheImageInputStream,释放缓存。源InputStream不会被关闭。
      抛出:
      IOException - 如果发生I/O错误。
    • finalize

      @Deprecated(since="9", forRemoval=true) protected void finalize() throws Throwable
      Deprecated, for removal: This API element is subject to removal in a future version.
      Finalization has been deprecated for removal. See Object.finalize() for background information and details about migration options.
      在垃圾回收之前对此对象进行终结。将调用close方法来关闭任何打开的输入源。此方法不应该从应用程序代码中调用。
      覆盖:
      finalize 在类中 ImageInputStreamImpl
      抛出:
      Throwable - 如果在超类终结期间发生错误。
      参见: