public abstract class ImageInputStreamSpi extends IIOServiceProvider
ImageInputStream秒。 
       有关服务提供商界面的更多信息,请参阅IIORegistry类的类注释。 
        该接口允许任意对象由ImageInputStream的ImageInputStream “包装”。 例如,特定的ImageInputStreamSpi可能允许将通用InputStream用作输入源; 另一个可能会从URL输入。 
 通过将创建ImageInputStream作为可插拔服务,可以在不改变API的情况下处理未来的输入源。 此外,ImageInputStream的ImageInputStream (例如,特定平台的本机实现)可以由应用程序透明地安装和使用。 
IIORegistry , ImageInputStream 
       | Modifier and Type | Field and Description | 
|---|---|
| protected 类<?> | inputClass
              一个 
              类对象,指示createInputStreamInstance方法使用的合法对象类型。 | 
vendorName, version| Modifier | Constructor and Description | 
|---|---|
| protected  | ImageInputStreamSpi()
              构造空白 
              ImageInputStreamSpi。 | 
|   | ImageInputStreamSpi(String vendorName, String version, 类<?> inputClass)
              构造具有给定值的 
              ImageInputStreamSpi。 | 
| Modifier and Type | Method and Description | 
|---|---|
| boolean | canUseCacheFile()
              返回 
              true如果ImageInputStream与此服务提供者关联实现可选择使用了改进的性能和/或内存占用一个缓存文件。 | 
| ImageInputStream | createInputStreamInstance(Object input)
              返回与此服务提供商 
              ImageInputStreamImageInputStream实现的实例。 | 
| abstract ImageInputStream | createInputStreamInstance(Object input, boolean useCache, File cacheDir)
              返回与此服务提供商 
              ImageInputStreamImageInputStream实现的实例。 | 
| 类<?> | getInputClass()
              返回一个表示要由输入源实现的类或接口类型的 
              类对象,以便通过createInputStreamInstance方法“包装”在ImageInputStream中。 | 
| boolean | needsCacheFile()
              返回 
              true如果ImageInputStream与此服务提供相关的实施需要使用一个缓存File。 | 
getDescription, getVendorName, getVersion, onDeregistration, onRegistrationprotected 类<?> inputClass
类对象,指示 
           createInputStreamInstance方法使用的合法对象类型。 
          protected ImageInputStreamSpi()
ImageInputStreamSpi 。 
           初始化实例变量和/或覆盖方法实现的子类是为了提供所有方法的工作版本。 
          public ImageInputStreamSpi(String vendorName, String version, 类<?> inputClass)
ImageInputStreamSpi 。 
          vendorName - 供应商名称。 
           version - 版本标识符。 
           inputClass - 一个 
            类对象,指示 
            createInputStreamInstance方法使用的合法对象类型。 
           IllegalArgumentException - 如果 
            vendorName是 
            null 。 
           IllegalArgumentException - 如果 
            version是 
            null 。 
           public 类<?> getInputClass()
类对象,表示必须由输入源实现的类或接口类型,以便通过createInputStreamInstance方法“包装”在ImageInputStream中。 
            典型的返回值可能包括InputStream.class或URL.class ,但可以使用任何类。 
类变量。 
           createInputStreamInstance(Object, boolean, File) 
           public boolean canUseCacheFile()
true如果ImageInputStream与此服务提供者关联实现可选择使用了改进的性能和/或内存占用一个缓存文件。 
           如果false ,该值useCache参数createInputStreamInstance将被忽略。 
            默认实现返回false 。 
true如果缓存文件可以由此服务提供商创建的输入流使用。 
           public boolean needsCacheFile()
true如果ImageInputStream与此服务提供相关的实施需要使用一个缓存File 。 
           如果true ,该值useCache参数createInputStreamInstance将被忽略。 
            默认实现返回false 。 
true如果由该服务提供商创建的输入流需要缓存文件。 
           public abstract ImageInputStream createInputStreamInstance(Object input, boolean useCache, File cacheDir) throws IOException
ImageInputStream ImageInputStream实现的实例。 
           如果使用缓存文件是可选的,则将useCache useCache参数。 
           当需要高速缓存,或不适用,价值useCache将被忽略。 
          input -通过返回的类类型的对象 
            getInputClass 。 
           useCache - 一个 
            boolean指示是否应使用缓存文件,如果是可选的。 
           cacheDir - 一个 
            File指示应该创建缓存文件的位置,或 
            null使用系统目录。 
           ImageInputStream例子。 
           IllegalArgumentException - 如果 
            input不是正确类的实例,或者是 
            null 。 
           IllegalArgumentException - 如果需要缓存文件,但 
            cacheDir不是 
            null并且不是目录。 
           IOException - 如果需要缓存文件但无法创建。 
           getInputClass() , 
            canUseCacheFile() , 
            needsCacheFile() 
           public ImageInputStream createInputStreamInstance(Object input) throws IOException
ImageInputStream ImageInputStream实现的实例。 
           如果需要,系统相关的默认临时文件目录中将创建缓存文件。 
          input -通过返回的类类型的对象 
            getInputClass 。 
           ImageInputStream例子。 
           IllegalArgumentException - 如果 
            input不是正确类的实例,或者是 
            null 。 
           IOException - 如果需要缓存文件但无法创建。 
           getInputClass() 
            Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.