- java.lang.Object
-  
      - javax.imageio.spi.IIOServiceProvider
-  
        - javax.imageio.spi.ImageOutputStreamSpi
 
 
-  
       - 实现的所有接口
-  
         RegisterableService
 
 public abstract class ImageOutputStreamSpi extends IIOServiceProvider ImageOutputStream的服务提供者接口(SPI)。 有关服务提供者接口的更多信息,请参阅IIORegistry类的类注释。此接口允许任意对象被 ImageOutputStream的实例“包装”。 例如,特定的ImageOutputStreamSpi可能允许将通用OutputStream用作目标; 另一个可能输出到File或设备,如串行端口。通过将 ImageOutputStream的创建视为可插拔服务,可以在不更改API的情况下处理将来的输出目标。 此外,应用程序可以透明地安装和使用ImageOutputStream的高性能实现(例如,特定平台的本机实现)。- 另请参见:
-  
         IIORegistry,ImageOutputStream
 
-  
        
       -  
             字段汇总字段 变量和类型 字段 描述 protected 类<?>outputClass一个类对象,指示createInputStreamInstance方法使用的合法对象类型。-  
               声明的属性在类 javax.imageio.spi.IIOServiceProvidervendorName, version
 
-  
               
 -  
             构造方法摘要构造方法 变量 构造器 描述 protectedImageOutputStreamSpi()构造一个空白ImageOutputStreamSpi。ImageOutputStreamSpi(String vendorName, String version, 类<?> outputClass)构造具有给定值集的ImageOutputStreamSpi。
 -  
             方法摘要所有方法 实例方法 抽象方法 具体的方法 变量和类型 方法 描述 booleancanUseCacheFile()返回true如果ImageOutputStream与此服务提供者关联实现可选择使用缓存File,以提高性能和/或内存占用。ImageOutputStreamcreateOutputStreamInstance(Object output)返回与此服务提供者关联的ImageOutputStream实现的实例。abstract ImageOutputStreamcreateOutputStreamInstance(Object output, boolean useCache, File cacheDir)返回与此服务提供者关联的ImageOutputStream实现的实例。类<?>getOutputClass()返回一个类对象,表示必须由输出目标实现的类或接口类型,以便通过createOutputStreamInstance方法在ImageOutputStream“包装”。booleanneedsCacheFile()返回true如果ImageOutputStream与此服务提供相关的实施需要使用一个缓存File。-  
               声明方法的类 javax.imageio.spi.IIOServiceProvidergetDescription, getVendorName, getVersion, onDeregistration, onRegistration
 
-  
               
 
-  
             
-  
        
       -  
             字段详细信息-  outputClassprotected 类<?> outputClass 一个类对象,指示createInputStreamInstance方法使用的合法对象类型。
 
-  
 -  
             构造方法详细信息-  ImageOutputStreamSpiprotected ImageOutputStreamSpi() 构造一个空白ImageOutputStreamSpi。 由子类来初始化实例变量和/或覆盖方法实现,以便提供所有方法的工作版本。
 -  ImageOutputStreamSpipublic ImageOutputStreamSpi(String vendorName, String version, 类<?> outputClass) 构造具有给定值集的ImageOutputStreamSpi。- 参数
-  
              vendorName- 供应商名称。
-  
              version- 版本标识符。
-  
              outputClass- 一个类对象,指示createOutputStreamInstance方法使用的合法对象类型。
- 异常
-  
              IllegalArgumentException- 如果vendorName是null。
-  
              IllegalArgumentException- 如果version是null。
 
 
-  
 -  
             方法详细信息-  getOutputClasspublic 类<?> getOutputClass() 返回一个类对象,表示必须由输出目标实现的类或接口类型,以便通过createOutputStreamInstance方法在ImageOutputStream“包装”。典型的返回值可能包括 OutputStream.class或File.class,但可以使用任何类。- 结果
- 
               一个 
              类变量。
- 另请参见:
-  
              createOutputStreamInstance(Object, boolean, File)
 
 -  canUseCacheFilepublic boolean canUseCacheFile() 返回true如果ImageOutputStream与此服务提供者关联实现可选择使用缓存File,以提高性能和/或内存占用。 如果false,该值cacheFile参数createOutputStreamInstance将被忽略。默认实现返回 false。- 结果
-  
              true如果此服务提供者创建的输出流可以使用缓存文件。
 
 -  needsCacheFilepublic boolean needsCacheFile() 返回true如果ImageOutputStream与此服务提供相关的实施需要使用一个缓存File。默认实现返回 false。- 结果
-  
              true如果此服务提供者创建的输出流需要缓存文件。
 
 -  createOutputStreamInstancepublic abstract ImageOutputStream createOutputStreamInstance(Object output, boolean useCache, File cacheDir) throws IOException 返回与此服务提供者关联的ImageOutputStream实现的实例。 如果使用缓存文件是可选的,则将参考useCache参数。 如果需要缓存或不适用,则将忽略useCache的值。- 参数
-  
              output- 由getOutputClass返回的类类型的对象。
-  
              useCache- 一个boolean指示在可选的情况下是否应使用缓存文件。
-  
              cacheDir-一个File表明,其中的缓存文件应该被创建,或null使用系统目录下。
- 结果
- 
               一个 
              ImageOutputStream实例。
- 异常
-  
              IllegalArgumentException- 如果output不是正确类的实例或者是null。
-  
              IllegalArgumentException- 如果需要缓存文件,但cacheDir不是null且不是目录。
-  
              IOException- 如果需要缓存文件但无法创建。
- 另请参见:
-  
              getOutputClass()
 
 -  createOutputStreamInstancepublic ImageOutputStream createOutputStreamInstance(Object output) throws IOException 返回与此服务提供者关联的ImageOutputStream实现的实例。 如果需要,将在依赖于系统的默认临时文件目录中创建缓存文件。- 参数
-  
              output- 由getOutputClass返回的类类型的对象。
- 结果
- 
               一个 
              ImageOutputStream实例。
- 异常
-  
              IllegalArgumentException- 如果output不是正确类的实例或者是null。
-  
              IOException- 如果需要缓存文件但无法创建。
- 另请参见:
-  
              getOutputClass()
 
 
-  
 
-