Module  java.desktop
软件包  javax.imageio.stream

Class MemoryCacheImageInputStream

  • All Implemented Interfaces:
    CloseableDataInputAutoCloseableImageInputStream


    public class MemoryCacheImageInputStream
    extends ImageInputStreamImpl
    一个ImageInputStream的实现,从常规的InputStream获取它的输入。 存储器缓冲器用于至少缓存丢弃位置和当前读取位置之间的数据。

    一般地,它是优选使用FileCacheImageInputStream从常规读出时InputStream 在不可能创建可写入临时文件的情况下提供此类。

    • 构造方法详细信息

      • MemoryCacheImageInputStream

        public MemoryCacheImageInputStream​(InputStream stream)
        构造一个 MemoryCacheImageInputStream ,将从给定的 InputStream读取。
        参数
        stream - 一个 InputStream要阅读。
        异常
        IllegalArgumentException - 如果 streamnull
    • 方法详细信息

      • read

        public int read​()
                 throws IOException
        描述从类复制: ImageInputStreamImpl
        从该流读取单个字节,并返回它作为一个int 0到255,并且如果达到EOF, -1被返回。

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

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

        Specified by:
        read在接口 ImageInputStream
        Specified by:
        read中的 ImageInputStreamImpl
        结果
        流中下一个字节的值,如果达到EOF, -1
        异常
        IOException - 如果流已关闭。
      • read

        public int read​(byte[] b,
                        int off,
                        int len)
                 throws IOException
        描述从类复制: ImageInputStreamImpl
        读取到len从流字节,并将其存储到b开始于索引off 如果没有字节可以读取,因为已经到达流的末尾,则返回-1

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

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

        Specified by:
        read在接口 ImageInputStream
        Specified by:
        readImageInputStreamImpl
        参数
        b - 要写入的字节数组。
        off - 起始位置在 b内写。
        len - 要读取的最大字节数。
        结果
        实际读取的字节数,或 -1表示EOF。
        异常
        IOException - 如果发生I / O错误。
      • flushBefore

        public void flushBefore​(long pos)
                         throws IOException
        描述从接口ImageInputStream复制
        在指示的位置之前丢弃流的初始部分。 尝试寻求流的冲洗部分内的偏移量将导致一个IndexOutOfBoundsException

        调用flushBefore可能允许实现此接口的类释放用于存储数据流的内存或磁盘空间等资源。

        Specified by:
        flushBefore在接口 ImageInputStream
        重写:
        flushBefore中的 ImageInputStreamImpl
        参数
        pos - 一个 long其中包含可能被刷新的流前缀的长度。
        异常
        IOException - 如果发生I / O错误。
      • finalize

        @Deprecated(since="9")
        protected void finalize​()
                         throws Throwable
        已过时。 finalize方法已被弃用。 为了执行清理,覆盖finalize子类应被修改为使用替代的清理机制,并删除覆盖的finalize方法。 当覆盖finalize方法时,其实现必须明确确保按super.finalize()中所述调用super.finalize() 有关迁移选项的更多信息,请参阅Object.finalize()的规范。
        在垃圾收集之前完成此对象。 调用close方法来关闭任何打开的输入源。 不应该从应用程序代码调用此方法。
        重写:
        finalizeImageInputStreamImpl
        异常
        Throwable - 如果在超类最终化期间发生错误。
        另请参见:
        WeakReferencePhantomReference