uTools-Manuals/docs/java/javax/imageio/spi/ImageInputStreamSpi.html

423 lines
21 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div class="header">
<div class="subTitle">
javax.imageio.spi
</div>
<h2 class="title" title="Class ImageInputStreamSpi">Class ImageInputStreamSpi</h2>
</div><div class="contentContainer">
<ul class="inheritance">
<li><a href="../../../java/lang/Object.html" title="class in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../javax/imageio/spi/IIOServiceProvider.html" title="class in javax.imageio.spi">javax.imageio.spi.IIOServiceProvider</a></li>
<li>
<ul class="inheritance">
<li>javax.imageio.spi.ImageInputStreamSpi</li>
</ul> </li>
</ul> </li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>
All Implemented Interfaces:
</dt>
<dd>
<span><a href="../../../javax/imageio/spi/RegisterableService.html" title="javax.imageio.spi中的接口">RegisterableService</a></span>
</dd>
</dl>
<hr/> <br/> <pre>public abstract class <span class="typeNameLabel">ImageInputStreamSpi</span>
extends <a href="../../../javax/imageio/spi/IIOServiceProvider.html" title="class in javax.imageio.spi">IIOServiceProvider</a></pre>
<div class="block">
<span>服务提供者接口SPI<code>ImageInputStream</code>秒。</span>
<span>有关服务提供商界面的更多信息,请参阅<code>IIORegistry</code>类的类注释。</span>
<p> <span>该接口允许任意对象由ImageInputStream的<code>ImageInputStream</code> “包装”。</span> <span>例如,特定的<code>ImageInputStreamSpi</code>可能允许将通用<code>InputStream</code>用作输入源;</span> <span>另一个可能会从<code>URL</code>输入。</span> </p>
<p> <span>通过将创建<code>ImageInputStream</code>作为可插拔服务可以在不改变API的情况下处理未来的输入源。</span> <span>此外ImageInputStream的<code>ImageInputStream</code> (例如,特定平台的本机实现)可以由应用程序透明地安装和使用。</span> </p>
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<span><a href="../../../javax/imageio/spi/IIORegistry.html" title="javax.imageio.spi中的类"><code>IIORegistry</code></a> <a href="../../../javax/imageio/stream/ImageInputStream.html" title="javax.imageio.stream中的接口"><code>ImageInputStream</code></a></span>
</dd>
</dl> </li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- --> </a> <h3>Field Summary</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Field Summary table, listing fields, and an explanation">
<caption>
<span>Fields</span>
<span class="tabEnd"> </span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../java/lang/Class.html" title="class in java.lang"></a>&lt;?&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/spi/ImageInputStreamSpi.html#inputClass">inputClass</a></span></code>
<div class="block">
一个
<code></code>对象,指示
<code>createInputStreamInstance</code>方法使用的合法对象类型。
</div> </td>
</tr>
</tbody>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.javax.imageio.spi.IIOServiceProvider">
<!-- --> </a> <h3>Fields inherited from class javax.imageio.spi.<a href="../../../javax/imageio/spi/IIOServiceProvider.html" title="class in javax.imageio.spi">IIOServiceProvider</a></h3> <code><a href="../../../javax/imageio/spi/IIOServiceProvider.html#vendorName">vendorName</a>, <a href="../../../javax/imageio/spi/IIOServiceProvider.html#version">version</a></code></li>
</ul> </li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- --> </a> <h3>构造方法摘要</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Constructor Summary table, listing constructors, and an explanation">
<caption>
<span>构造方法</span>
<span class="tabEnd"> </span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colLast" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/spi/ImageInputStreamSpi.html#ImageInputStreamSpi--">ImageInputStreamSpi</a></span>()</code>
<div class="block">
构造空白
<code>ImageInputStreamSpi</code>
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code> </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/spi/ImageInputStreamSpi.html#ImageInputStreamSpi-java.lang.String-java.lang.String-java.lang.Class-">ImageInputStreamSpi</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> vendorName, <a href="../../../java/lang/String.html" title="class in java.lang">String</a> version, <a href="../../../java/lang/Class.html" title="class in java.lang"></a>&lt;?&gt; inputClass)</code>
<div class="block">
构造具有给定值的
<code>ImageInputStreamSpi</code>
</div> </td>
</tr>
</tbody>
</table> </li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- --> </a> <h3>方法摘要</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Method Summary table, listing methods, and an explanation">
<caption>
<span class="activeTableTab" id="t0"><span>所有方法</span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t2"><span><a href="javascript:show(2);">接口方法</a></span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t3"><span><a href="javascript:show(4);">抽象方法</a></span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t4"><span><a href="javascript:show(8);">具体的方法</a></span><span class="tabEnd"> </span></span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor" id="i0">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/spi/ImageInputStreamSpi.html#canUseCacheFile--">canUseCacheFile</a></span>()</code>
<div class="block">
返回
<code>true</code>如果
<code>ImageInputStream</code>与此服务提供者关联实现可选择使用了改进的性能和/或内存占用一个缓存文件。
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code><a href="../../../javax/imageio/stream/ImageInputStream.html" title="interface in javax.imageio.stream">ImageInputStream</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/spi/ImageInputStreamSpi.html#createInputStreamInstance-java.lang.Object-">createInputStreamInstance</a></span>(<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> input)</code>
<div class="block">
返回与此服务提供商
<code>ImageInputStream</code> ImageInputStream实现的实例。
</div> </td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>abstract <a href="../../../javax/imageio/stream/ImageInputStream.html" title="interface in javax.imageio.stream">ImageInputStream</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/spi/ImageInputStreamSpi.html#createInputStreamInstance-java.lang.Object-boolean-java.io.File-">createInputStreamInstance</a></span>(<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> input, boolean useCache, <a href="../../../java/io/File.html" title="class in java.io">File</a> cacheDir)</code>
<div class="block">
返回与此服务提供商
<code>ImageInputStream</code> ImageInputStream实现的实例。
</div> </td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code><a href="../../../java/lang/Class.html" title="class in java.lang"></a>&lt;?&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/spi/ImageInputStreamSpi.html#getInputClass--">getInputClass</a></span>()</code>
<div class="block">
返回一个表示要由输入源实现的类或接口类型的
<code></code>对象,以便通过
<code>createInputStreamInstance</code>方法“包装”在
<code>ImageInputStream</code>中。
</div> </td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/spi/ImageInputStreamSpi.html#needsCacheFile--">needsCacheFile</a></span>()</code>
<div class="block">
返回
<code>true</code>如果
<code>ImageInputStream</code>与此服务提供相关的实施需要使用一个缓存
<code>File</code>
</div> </td>
</tr>
</tbody>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.javax.imageio.spi.IIOServiceProvider">
<!-- --> </a> <h3>Methods inherited from class javax.imageio.spi.<a href="../../../javax/imageio/spi/IIOServiceProvider.html" title="class in javax.imageio.spi">IIOServiceProvider</a></h3> <code><a href="../../../javax/imageio/spi/IIOServiceProvider.html#getDescription-java.util.Locale-">getDescription</a>, <a href="../../../javax/imageio/spi/IIOServiceProvider.html#getVendorName--">getVendorName</a>, <a href="../../../javax/imageio/spi/IIOServiceProvider.html#getVersion--">getVersion</a>, <a href="../../../javax/imageio/spi/IIOServiceProvider.html#onDeregistration-javax.imageio.spi.ServiceRegistry-java.lang.Class-">onDeregistration</a>, <a href="../../../javax/imageio/spi/IIOServiceProvider.html#onRegistration-javax.imageio.spi.ServiceRegistry-java.lang.Class-">onRegistration</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- --> </a> <h3>Methods inherited from class java.lang.<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></h3> <code><a href="../../../java/lang/Object.html#clone--">clone</a>, <a href="../../../java/lang/Object.html#equals-java.lang.Object-">equals</a>, <a href="../../../java/lang/Object.html#finalize--">finalize</a>, <a href="../../../java/lang/Object.html#getClass--">getClass</a>, <a href="../../../java/lang/Object.html#hashCode--">hashCode</a>, <a href="../../../java/lang/Object.html#notify--">notify</a>, <a href="../../../java/lang/Object.html#notifyAll--">notifyAll</a>, <a href="../../../java/lang/Object.html#toString--">toString</a>, <a href="../../../java/lang/Object.html#wait--">wait</a>, <a href="../../../java/lang/Object.html#wait-long-">wait</a>, <a href="../../../java/lang/Object.html#wait-long-int-">wait</a></code></li>
</ul> </li>
</ul> </li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- --> </a> <h3>字段详细信息</h3> <a name="inputClass">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>inputClass</h4> <pre>protected <a href="../../../java/lang/Class.html" title="class in java.lang"></a>&lt;?&gt; inputClass</pre>
<div class="block">
一个
<code></code>对象,指示
<code>createInputStreamInstance</code>方法使用的合法对象类型。
</div> </li>
</ul> </li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- --> </a> <h3>构造方法详细信息</h3> <a name="ImageInputStreamSpi--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>ImageInputStreamSpi</h4> <pre>protected ImageInputStreamSpi()</pre>
<div class="block">
<span>构造一个空白的<code>ImageInputStreamSpi</code></span>
<span>初始化实例变量和/或覆盖方法实现的子类是为了提供所有方法的工作版本。</span>
</div> </li>
</ul> <a name="ImageInputStreamSpi-java.lang.String-java.lang.String-java.lang.Class-">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>ImageInputStreamSpi</h4> <pre>public ImageInputStreamSpi(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> vendorName,
<a href="../../../java/lang/String.html" title="class in java.lang">String</a> version,
<a href="../../../java/lang/Class.html" title="class in java.lang"></a>&lt;?&gt; inputClass)</pre>
<div class="block">
构造具有给定值的
<code>ImageInputStreamSpi</code>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>vendorName</code> - 供应商名称。
</dd>
<dd>
<code>version</code> - 版本标识符。
</dd>
<dd>
<code>inputClass</code> - 一个
<code></code>对象,指示
<code>createInputStreamInstance</code>方法使用的合法对象类型。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果
<code>vendorName</code>
<code>null</code>
</dd>
<dd>
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果
<code>version</code>
<code>null</code>
</dd>
</dl> </li>
</ul> </li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <a name="getInputClass--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getInputClass</h4> <pre>public <a href="../../../java/lang/Class.html" title="class in java.lang"></a>&lt;?&gt; getInputClass()</pre>
<div class="block">
<span>返回一个<code></code>对象,表示必须由输入源实现的类或接口类型,以便通过<code>createInputStreamInstance</code>方法“包装”在<code>ImageInputStream</code>中。</span>
<p> <span>典型的返回值可能包括<code>InputStream.class</code><code>URL.class</code> ,但可以使用任何类。</span> </p>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个
<code></code>变量。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/imageio/spi/ImageInputStreamSpi.html#createInputStreamInstance-java.lang.Object-boolean-java.io.File-"><code>createInputStreamInstance(Object, boolean, File)</code></a>
</dd>
</dl> </li>
</ul> <a name="canUseCacheFile--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>canUseCacheFile</h4> <pre>public boolean canUseCacheFile()</pre>
<div class="block">
<span>返回<code>true</code>如果<code>ImageInputStream</code>与此服务提供者关联实现可选择使用了改进的性能和/或内存占用一个缓存文件。</span>
<span>如果<code>false</code> ,该值<code>useCache</code>参数<code>createInputStreamInstance</code>将被忽略。</span>
<p> <span>默认实现返回<code>false</code></span> </p>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<code>true</code>如果缓存文件可以由此服务提供商创建的输入流使用。
</dd>
</dl> </li>
</ul> <a name="needsCacheFile--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>needsCacheFile</h4> <pre>public boolean needsCacheFile()</pre>
<div class="block">
<span>返回<code>true</code>如果<code>ImageInputStream</code>与此服务提供相关的实施需要使用一个缓存<code>File</code></span>
<span>如果<code>true</code> ,该值<code>useCache</code>参数<code>createInputStreamInstance</code>将被忽略。</span>
<p> <span>默认实现返回<code>false</code></span> </p>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<code>true</code>如果由该服务提供商创建的输入流需要缓存文件。
</dd>
</dl> </li>
</ul> <a name="createInputStreamInstance-java.lang.Object-boolean-java.io.File-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>createInputStreamInstance</h4> <pre>public abstract <a href="../../../javax/imageio/stream/ImageInputStream.html" title="interface in javax.imageio.stream">ImageInputStream</a> createInputStreamInstance(<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> input,
boolean useCache,
<a href="../../../java/io/File.html" title="class in java.io">File</a> cacheDir)
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>返回与此服务提供商<code>ImageInputStream</code> ImageInputStream实现的实例。</span>
<span>如果使用缓存文件是可选的,则将<code>useCache</code> useCache参数。</span>
<span>当需要高速缓存,或不适用,价值<code>useCache</code>将被忽略。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>input</code> -通过返回的类类型的对象
<code>getInputClass</code>
</dd>
<dd>
<code>useCache</code> - 一个
<code>boolean</code>指示是否应使用缓存文件,如果是可选的。
</dd>
<dd>
<code>cacheDir</code> - 一个
<code>File</code>指示应该创建缓存文件的位置,或
<code>null</code>使用系统目录。
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个
<code>ImageInputStream</code>例子。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果
<code>input</code>不是正确类的实例,或者是
<code>null</code>
</dd>
<dd>
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果需要缓存文件,但
<code>cacheDir</code>不是
<code>null</code>并且不是目录。
</dd>
<dd>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果需要缓存文件但无法创建。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/imageio/spi/ImageInputStreamSpi.html#getInputClass--"><code>getInputClass()</code></a>
<a href="../../../javax/imageio/spi/ImageInputStreamSpi.html#canUseCacheFile--"><code>canUseCacheFile()</code></a>
<a href="../../../javax/imageio/spi/ImageInputStreamSpi.html#needsCacheFile--"><code>needsCacheFile()</code></a>
</dd>
</dl> </li>
</ul> <a name="createInputStreamInstance-java.lang.Object-">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>createInputStreamInstance</h4> <pre>public <a href="../../../javax/imageio/stream/ImageInputStream.html" title="interface in javax.imageio.stream">ImageInputStream</a> createInputStreamInstance(<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> input)
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>返回与该服务提供商相关<code>ImageInputStream</code> ImageInputStream实现的实例。</span>
<span>如果需要,系统相关的默认临时文件目录中将创建缓存文件。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>input</code> -通过返回的类类型的对象
<code>getInputClass</code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个
<code>ImageInputStream</code>例子。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果
<code>input</code>不是正确类的实例,或者是
<code>null</code>
</dd>
<dd>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果需要缓存文件但无法创建。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/imageio/spi/ImageInputStreamSpi.html#getInputClass--"><code>getInputClass()</code></a>
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>