uTools-Manuals/docs/java/javax/imageio/stream/ImageInputStream.html

2033 lines
89 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.stream
</div>
<h2 class="title" title="Interface ImageInputStream">Interface ImageInputStream</h2>
</div><div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>
All Superinterfaces:
</dt>
<dd>
<span><a href="../../../java/lang/AutoCloseable.html" title="java.lang中的接口">AutoCloseable</a> <a href="../../../java/io/Closeable.html" title="java.io中的接口">Closeable</a> <a href="../../../java/io/DataInput.html" title="java.io中的接口">DataInput</a></span>
</dd>
</dl>
<dl>
<dt>
All Known Subinterfaces:
</dt>
<dd>
<span><a href="../../../javax/imageio/stream/ImageOutputStream.html" title="javax.imageio.stream中的接口">ImageOutputStream</a></span>
</dd>
</dl>
<dl>
<dt>
所有已知实现类:
</dt>
<dd>
<span><a href="../../../javax/imageio/stream/FileCacheImageInputStream.html" title="javax.imageio.stream中的类">FileCacheImageInputStream</a> <a href="../../../javax/imageio/stream/FileCacheImageOutputStream.html" title="javax.imageio.stream中的类">FileCacheImageOutputStream</a> <a href="../../../javax/imageio/stream/FileImageInputStream.html" title="javax.imageio.stream中的类">FileImageInputStream</a> <a href="../../../javax/imageio/stream/FileImageOutputStream.html" title="javax.imageio.stream中的类">FileImageOutputStream</a> <a href="../../../javax/imageio/stream/ImageInputStreamImpl.html" title="javax.imageio.stream中的类">ImageInputStreamImpl</a> <a href="../../../javax/imageio/stream/ImageOutputStreamImpl.html" title="javax.imageio.stream中的类">ImageOutputStreamImpl</a> <a href="../../../javax/imageio/stream/MemoryCacheImageInputStream.html" title="javax.imageio.stream中的类">MemoryCacheImageInputStream</a> <a href="../../../javax/imageio/stream/MemoryCacheImageOutputStream.html" title="javax.imageio.stream中的类">MemoryCacheImageOutputStream</a></span>
</dd>
</dl>
<hr/> <br/> <pre>public interface <span class="typeNameLabel">ImageInputStream</span>
extends <a href="../../../java/io/DataInput.html" title="interface in java.io">DataInput</a>, <a href="../../../java/io/Closeable.html" title="interface in java.io">Closeable</a></pre>
<div class="block">
<span>的可查找输入流接口供<code>ImageReader</code>秒。</span>
<span>诸如<code>InputStream</code><code>File</code>之类的各种输入源以及未来的快速I / O源可以被该接口的适当实现“包裹”以供Image I / O API使用。</span>
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<span><a href="../../../javax/imageio/stream/ImageInputStreamImpl.html" title="javax.imageio.stream中的类"><code>ImageInputStreamImpl</code></a> <a href="../../../javax/imageio/stream/FileImageInputStream.html" title="javax.imageio.stream中的类"><code>FileImageInputStream</code></a> <a href="../../../javax/imageio/stream/FileCacheImageInputStream.html" title="javax.imageio.stream中的类"><code>FileCacheImageInputStream</code></a> <a href="../../../javax/imageio/stream/MemoryCacheImageInputStream.html" title="javax.imageio.stream中的类"><code>MemoryCacheImageInputStream</code></a></span>
</dd>
</dl> </li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== 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>
</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>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/stream/ImageInputStream.html#close--">close</a></span>()</code>
<div class="block">
关闭流。
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/stream/ImageInputStream.html#flush--">flush</a></span>()</code>
<div class="block">
在当前流位置之前丢弃流的初始位置。
</div> </td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/stream/ImageInputStream.html#flushBefore-long-">flushBefore</a></span>(long pos)</code>
<div class="block">
在指示的位置之前丢弃流的初始部分。
</div> </td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/stream/ImageInputStream.html#getBitOffset--">getBitOffset</a></span>()</code>
<div class="block">
返回当前的位偏移量为0到7之间的整数包括0和7。
</div> </td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code><a href="../../../java/nio/ByteOrder.html" title="class in java.nio">ByteOrder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/stream/ImageInputStream.html#getByteOrder--">getByteOrder</a></span>()</code>
<div class="block">
作为
<code>java.nio.ByteOrder</code>枚举的实例,返回从该流读取数据值的字节顺序。
</div> </td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/stream/ImageInputStream.html#getFlushedPosition--">getFlushedPosition</a></span>()</code>
<div class="block">
返回可以执行搜索的流中的最早位置。
</div> </td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/stream/ImageInputStream.html#getStreamPosition--">getStreamPosition</a></span>()</code>
<div class="block">
返回流的当前字节位置。
</div> </td>
</tr>
<tr class="rowColor" id="i7">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/stream/ImageInputStream.html#isCached--">isCached</a></span>()</code>
<div class="block">
如果这
<code>ImageInputStream</code>缓存数据本身以返回
<code>true</code> ,则返回。
</div> </td>
</tr>
<tr class="altColor" id="i8">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/stream/ImageInputStream.html#isCachedFile--">isCachedFile</a></span>()</code>
<div class="block">
如果这个
<code>ImageInputStream</code>缓存数据本身以便允许向后查询,则返回
<code>true</code> ,并且高速缓存保存在临时文件中。
</div> </td>
</tr>
<tr class="rowColor" id="i9">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/stream/ImageInputStream.html#isCachedMemory--">isCachedMemory</a></span>()</code>
<div class="block">
如果
<code>ImageInputStream</code>缓存数据本身以返回
<code>true</code> ,以允许向后搜索,并且高速缓存保存在主内存中。
</div> </td>
</tr>
<tr class="altColor" id="i10">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/stream/ImageInputStream.html#length--">length</a></span>()</code>
<div class="block">
如果已知,返回流的总长度。
</div> </td>
</tr>
<tr class="rowColor" id="i11">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/stream/ImageInputStream.html#mark--">mark</a></span>()</code>
<div class="block">
在流中标记要通过后续呼叫返回到
<code>reset</code>
</div> </td>
</tr>
<tr class="altColor" id="i12">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/stream/ImageInputStream.html#read--">read</a></span>()</code>
<div class="block">
从流中读取一个字节并将其作为0到255之间的整数返回。
</div> </td>
</tr>
<tr class="rowColor" id="i13">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/stream/ImageInputStream.html#read-byte:A-">read</a></span>(byte[] b)</code>
<div class="block">
从流中读取最多
<code>b.length</code>个字节并将其存储在从索引0开始的
<code>b</code>中。
</div> </td>
</tr>
<tr class="altColor" id="i14">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/stream/ImageInputStream.html#read-byte:A-int-int-">read</a></span>(byte[] b, int off, int len)</code>
<div class="block">
读取到
<code>len</code>从流字节,并将其存储到
<code>b</code>开始于索引
<code>off</code>
</div> </td>
</tr>
<tr class="rowColor" id="i15">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/stream/ImageInputStream.html#readBit--">readBit</a></span>()</code>
<div class="block">
从流中读取一个位,并将其作为
<code>int</code>返回,值为
<code>0</code>
<code>1</code>
</div> </td>
</tr>
<tr class="altColor" id="i16">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/stream/ImageInputStream.html#readBits-int-">readBits</a></span>(int numBits)</code>
<div class="block">
从流中读取一个bitstring并将其作为
<code>long</code>返回,第一位读取成为输出的最高有效位。
</div> </td>
</tr>
<tr class="rowColor" id="i17">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/stream/ImageInputStream.html#readBoolean--">readBoolean</a></span>()</code>
<div class="block">
从流中读取一个字节,如果非零,
<code>false</code>值为
<code>true</code>如果为零,则返回
<code>boolean</code>
</div> </td>
</tr>
<tr class="altColor" id="i18">
<td class="colFirst"><code>byte</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/stream/ImageInputStream.html#readByte--">readByte</a></span>()</code>
<div class="block">
从流中读取一个字节,并将其作为
<code>byte</code>值返回。
</div> </td>
</tr>
<tr class="rowColor" id="i19">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/stream/ImageInputStream.html#readBytes-javax.imageio.stream.IIOByteBuffer-int-">readBytes</a></span>(<a href="../../../javax/imageio/stream/IIOByteBuffer.html" title="class in javax.imageio.stream">IIOByteBuffer</a> buf, int len)</code>
<div class="block">
从流中读取最多
<code>len</code>个字节,并修改提供的
<code>IIOByteBuffer</code>以指示可能找到数据的字节数组,偏移量和长度。
</div> </td>
</tr>
<tr class="altColor" id="i20">
<td class="colFirst"><code>char</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/stream/ImageInputStream.html#readChar--">readChar</a></span>()</code>
<div class="block">
相当于
<code>readUnsignedShort</code> ,除了使用
<code>char</code>数据类型返回结果。
</div> </td>
</tr>
<tr class="rowColor" id="i21">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/stream/ImageInputStream.html#readDouble--">readDouble</a></span>()</code>
<div class="block">
从流中读取8个字节在概念上根据当前字节顺序连接它们并将结果作为
<code>double</code>返回。
</div> </td>
</tr>
<tr class="altColor" id="i22">
<td class="colFirst"><code>float</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/stream/ImageInputStream.html#readFloat--">readFloat</a></span>()</code>
<div class="block">
从流中读取4个字节在概念上根据当前字节顺序连接它们并将结果作为
<code>float</code>返回。
</div> </td>
</tr>
<tr class="rowColor" id="i23">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/stream/ImageInputStream.html#readFully-byte:A-">readFully</a></span>(byte[] b)</code>
<div class="block">
读取
<code>b.length</code>从流字节,并将其存储到
<code>b</code>开始于索引
<code>0</code>
</div> </td>
</tr>
<tr class="altColor" id="i24">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/stream/ImageInputStream.html#readFully-byte:A-int-int-">readFully</a></span>(byte[] b, int off, int len)</code>
<div class="block">
读取
<code>len</code>从流字节,并将其存储到
<code>b</code>开始于索引
<code>off</code>
</div> </td>
</tr>
<tr class="rowColor" id="i25">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/stream/ImageInputStream.html#readFully-char:A-int-int-">readFully</a></span>(char[] c, int off, int len)</code>
<div class="block">
读取
<code>len</code>从根据当前字节顺序的流字符无符号的16位整数并将其存储到
<code>c</code>开始于索引
<code>off</code>
</div> </td>
</tr>
<tr class="altColor" id="i26">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/stream/ImageInputStream.html#readFully-double:A-int-int-">readFully</a></span>(double[] d, int off, int len)</code>
<div class="block">
读取
<code>len</code>根据当前字节顺序从流双打64位IEEE双精度浮点值并且将它们存储到
<code>d</code>开始于索引
<code>off</code>
</div> </td>
</tr>
<tr class="rowColor" id="i27">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/stream/ImageInputStream.html#readFully-float:A-int-int-">readFully</a></span>(float[] f, int off, int len)</code>
<div class="block">
根据当前字节顺序从流中读取
<code>len</code>浮点数32位IEEE单精度浮点数并将其存储到
<code>f</code>从索引
<code>off</code>开始。
</div> </td>
</tr>
<tr class="altColor" id="i28">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/stream/ImageInputStream.html#readFully-int:A-int-int-">readFully</a></span>(int[] i, int off, int len)</code>
<div class="block">
读取
<code>len</code>从根据当前字节顺序的流整数带符号的32位整数并将其存储到
<code>i</code>开始于索引
<code>off</code>
</div> </td>
</tr>
<tr class="rowColor" id="i29">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/stream/ImageInputStream.html#readFully-long:A-int-int-">readFully</a></span>(long[] l, int off, int len)</code>
<div class="block">
读取
<code>len</code>从根据当前字节顺序的流long有符号的64位整数并将其存储到
<code>l</code>开始于索引
<code>off</code>
</div> </td>
</tr>
<tr class="altColor" id="i30">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/stream/ImageInputStream.html#readFully-short:A-int-int-">readFully</a></span>(short[] s, int off, int len)</code>
<div class="block">
读取
<code>len</code>从根据当前字节顺序的流短裤带符号的16位整数并将其存储到
<code>s</code>开始于索引
<code>off</code>
</div> </td>
</tr>
<tr class="rowColor" id="i31">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/stream/ImageInputStream.html#readInt--">readInt</a></span>()</code>
<div class="block">
从流中读取4个字节在概念上根据当前字节顺序连接它们并以
<code>int</code>返回结果。
</div> </td>
</tr>
<tr class="altColor" id="i32">
<td class="colFirst"><code><a href="../../../java/lang/String.html" title="class in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/stream/ImageInputStream.html#readLine--">readLine</a></span>()</code>
<div class="block">
从输入流读取下一行文本。
</div> </td>
</tr>
<tr class="rowColor" id="i33">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/stream/ImageInputStream.html#readLong--">readLong</a></span>()</code>
<div class="block">
从流中读取8个字节在概念上根据当前字节顺序连接它们并将结果作为
<code>long</code>返回。
</div> </td>
</tr>
<tr class="altColor" id="i34">
<td class="colFirst"><code>short</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/stream/ImageInputStream.html#readShort--">readShort</a></span>()</code>
<div class="block">
从流中读取两个字节,(在概念上)根据当前字节顺序连接它们,并将结果作为
<code>short</code>值返回。
</div> </td>
</tr>
<tr class="rowColor" id="i35">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/stream/ImageInputStream.html#readUnsignedByte--">readUnsignedByte</a></span>()</code>
<div class="block">
从流读取一个字节在概念上将其转换为int使用
<code>0xff</code>屏蔽它,以便剥离任何符号扩展位,并将其作为
<code>byte</code>值返回。
</div> </td>
</tr>
<tr class="altColor" id="i36">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/stream/ImageInputStream.html#readUnsignedInt--">readUnsignedInt</a></span>()</code>
<div class="block">
从流中读取4个字节并且在概念上根据当前字节顺序连接它们将结果转换为长时间使用
<code>0xffffffffL</code>屏蔽它,以便剥离任何符号扩展位,并将结果作为无符号
<code>long</code>值。
</div> </td>
</tr>
<tr class="rowColor" id="i37">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/stream/ImageInputStream.html#readUnsignedShort--">readUnsignedShort</a></span>()</code>
<div class="block">
从流中读取两个字节并且在概念上根据当前字节顺序连接它们将结果值转换为int使用
<code>int</code>对其进行
<code>0xffff</code> ,以剥离任何符号扩展名,并将结果作为无符号返回
<code>int</code>价值。
</div> </td>
</tr>
<tr class="altColor" id="i38">
<td class="colFirst"><code><a href="../../../java/lang/String.html" title="class in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/stream/ImageInputStream.html#readUTF--">readUTF</a></span>()</code>
<div class="block">
读取已使用
<a href="../../../java/io/DataInput.html#modified-utf-8">modified UTF-8</a>格式编码的字符串。
</div> </td>
</tr>
<tr class="rowColor" id="i39">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/stream/ImageInputStream.html#reset--">reset</a></span>()</code>
<div class="block">
在最近不匹配的呼叫到
<code>mark</code>的时候,返回到前一个位置的流指针,包括位偏移量。
</div> </td>
</tr>
<tr class="altColor" id="i40">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/stream/ImageInputStream.html#seek-long-">seek</a></span>(long pos)</code>
<div class="block">
将当前流位置设置为所需位置。
</div> </td>
</tr>
<tr class="rowColor" id="i41">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/stream/ImageInputStream.html#setBitOffset-int-">setBitOffset</a></span>(int bitOffset)</code>
<div class="block">
将位偏移设置为0到7之间的整数包括0和7。
</div> </td>
</tr>
<tr class="altColor" id="i42">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/stream/ImageInputStream.html#setByteOrder-java.nio.ByteOrder-">setByteOrder</a></span>(<a href="../../../java/nio/ByteOrder.html" title="class in java.nio">ByteOrder</a> byteOrder)</code>
<div class="block">
设置用于将来从该流读取数据值的字节顺序。
</div> </td>
</tr>
<tr class="rowColor" id="i43">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/stream/ImageInputStream.html#skipBytes-int-">skipBytes</a></span>(int n)</code>
<div class="block">
将流位置向前移动给定数量的字节。
</div> </td>
</tr>
<tr class="altColor" id="i44">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/imageio/stream/ImageInputStream.html#skipBytes-long-">skipBytes</a></span>(long n)</code>
<div class="block">
将流位置向前移动给定数量的字节。
</div> </td>
</tr>
</tbody>
</table> </li>
</ul> </li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <a name="setByteOrder-java.nio.ByteOrder-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setByteOrder</h4> <pre>void setByteOrder(<a href="../../../java/nio/ByteOrder.html" title="class in java.nio">ByteOrder</a> byteOrder)</pre>
<div class="block">
<span>设置用于将来从该流读取数据值的字节顺序。</span>
<span>例如如果以4字节整数读取字节“0x01 0x02 0x03 0x04”的序列将以反向字节顺序使用网络字节顺序值为“0x04030201”。</span>
<p> <span>枚举类<code>java.nio.ByteOrder</code>用于指定字节顺序。</span> <span><code>ByteOrder.BIG_ENDIAN</code>的值指定了所谓的大端或网元字节顺序,其中高位字节首先出现。</span> <span>摩托罗拉和Sparc处理器以这种格式存储数据而英特尔处理器则按照<code>ByteOrder.LITTLE_ENDIAN</code>顺序存储数据。</span> </p>
<p> <span>字节顺序对从<code>readBits</code>方法(或<code>ImageOutputStream.writeBits</code>写的值)返回的结果没有影响。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>byteOrder</code> -
<code>ByteOrder.BIG_ENDIAN</code>
<code>java.nio.ByteOrder.LITTLE_ENDIAN</code> ,指示网络字节顺序或其反向将用于将来读取。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<span><a href="../../../java/nio/ByteOrder.html" title="java.nio中的类"><code>ByteOrder</code></a> <a href="../../../javax/imageio/stream/ImageInputStream.html#getByteOrder--"><code>getByteOrder()</code></a> <a href="../../../javax/imageio/stream/ImageInputStream.html#readBits-int-"><code>readBits(int)</code></a></span>
</dd>
</dl> </li>
</ul> <a name="getByteOrder--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getByteOrder</h4> <pre><a href="../../../java/nio/ByteOrder.html" title="class in java.nio">ByteOrder</a> getByteOrder()</pre>
<div class="block">
作为
<code>java.nio.ByteOrder</code>枚举的实例,返回从该流读取数据值的字节顺序。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<code>ByteOrder.BIG_ENDIAN</code>
<code>ByteOrder.LITTLE_ENDIAN</code> ,指示正在使用哪个字节顺序。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<span><a href="../../../java/nio/ByteOrder.html" title="java.nio中的类"><code>ByteOrder</code></a> <a href="../../../javax/imageio/stream/ImageInputStream.html#setByteOrder-java.nio.ByteOrder-"><code>setByteOrder(java.nio.ByteOrder)</code></a></span>
</dd>
</dl> </li>
</ul> <a name="read--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>read</h4> <pre>int read()
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>从流读取单个字节并将其作为0到255之间的整数返回。如果到达流的结尾则返回-1。</span>
<p> <span>在发生读取之前,流内的位偏移被重置为零。</span> </p>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
来自流的字节值作为int或-1表示EOF。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果发生I / O错误。
</dd>
</dl> </li>
</ul> <a name="read-byte:A-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>read</h4> <pre>int read(byte[] b)
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>从流中读取最多<code>b.length</code>个字节并将它们存储在从索引0开始的<code>b</code>中。返回读取的字节数。</span>
<span>如果没有字节可以读取,因为已经到达流的结尾,则返回-1。</span>
<p> <span>在发生读取之前,流内的位偏移被重置为零。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>b</code> - 要写入的字节数组。
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
实际读取的字节数,或
<code>-1</code>表示EOF。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>b</code>
<code>null</code>
</dd>
<dd>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果发生I / O错误。
</dd>
</dl> </li>
</ul> <a name="read-byte:A-int-int-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>read</h4> <pre>int read(byte[] b,
int off,
int len)
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>读取到<code>len</code>从流字节,并将其存储到<code>b</code>开始于索引<code>off</code></span>
<span>返回读取的字节数。</span>
<span>如果没有字节可以读取,因为已经到达流的末尾,则返回<code>-1</code></span>
<p> <span>在发生读取之前,流内的位偏移被重置为零。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>b</code> - 要写入的字节数组。
</dd>
<dd>
<code>off</code> - 起始位置在
<code>b</code>内写。
</dd>
<dd>
<code>len</code> - 要阅读的最大数量为
<code>byte</code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
实际读取的字节数,或
<code>-1</code>表示EOF。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>b</code>
<code>null</code>
</dd>
<dd>
<code><a href="../../../java/lang/IndexOutOfBoundsException.html" title="class in java.lang">IndexOutOfBoundsException</a></code> - 如果
<code>off</code>为负,
<code>len</code> ,否则为
<code>off + len</code> ,否则为
<code>b.length</code>
</dd>
<dd>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果发生I / O错误。
</dd>
</dl> </li>
</ul> <a name="readBytes-javax.imageio.stream.IIOByteBuffer-int-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>readBytes</h4> <pre>void readBytes(<a href="../../../javax/imageio/stream/IIOByteBuffer.html" title="class in javax.imageio.stream">IIOByteBuffer</a> buf,
int len)
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>从流中读取最多<code>len</code>个字节,并修改提供的<code>IIOByteBuffer</code>以指示可能找到数据的字节数组,偏移量和长度。</span>
<span>来电者不应该尝试修改在<code>IIOByteBuffer</code>找到的数据。</span>
<p> <span>在发生读取之前,流内的位偏移被重置为零。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>buf</code> - 要修改的IIOByteBuffer对象。
</dd>
<dd>
<code>len</code> - 要阅读的最大数量
<code>byte</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/IndexOutOfBoundsException.html" title="class in java.lang">IndexOutOfBoundsException</a></code> - 如果
<code>len</code>是否定的。
</dd>
<dd>
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>buf</code>
<code>null</code>
</dd>
<dd>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果发生I / O错误。
</dd>
</dl> </li>
</ul> <a name="readBoolean--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>readBoolean</h4> <pre>boolean readBoolean()
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>从流中读取一个字节,如果值为零,则返回<code>boolean</code>值为<code>true</code> <code>false</code></span>
<p> <span>在发生读取之前,流内的位偏移被重置为零。</span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../java/io/DataInput.html#readBoolean--">readBoolean</a></code>在接口
<code><a href="../../../java/io/DataInput.html" title="interface in java.io">DataInput</a></code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
来自流的布尔值。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/io/EOFException.html" title="class in java.io">EOFException</a></code> - 如果达到流的结尾。
</dd>
<dd>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果发生I / O错误。
</dd>
</dl> </li>
</ul> <a name="readByte--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>readByte</h4> <pre>byte readByte()
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>从流中读取一个字节,并以<code>byte</code>值返回。</span>
<span>之间的字节值<code>0x00</code><code>0x7f</code>表示之间的整数值<code>0</code><code>127</code></span>
<span><code>0x80</code><code>0xff</code>之间的值代表从<code>-128</code><code>/1</code></span>
<p> <span>在发生读取之前,流内的位偏移被重置为零。</span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../java/io/DataInput.html#readByte--">readByte</a></code>在界面
<code><a href="../../../java/io/DataInput.html" title="interface in java.io">DataInput</a></code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
来自流的有符号字节值。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/io/EOFException.html" title="class in java.io">EOFException</a></code> - 如果达到流的结尾。
</dd>
<dd>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果发生I / O错误。
</dd>
</dl> </li>
</ul> <a name="readUnsignedByte--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>readUnsignedByte</h4> <pre>int readUnsignedByte()
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>从流读取一个字节在概念上将其转换为int使用<code>0xff</code>进行掩码,以剥离任何符号扩展位,并将其作为<code>byte</code>值返回。</span>
<p> <span>因此, <code>0x00</code><code>0x7f</code>之间的字节值简单地作为<code>0</code><code>127</code>之间的整数值返回。</span> <span><code>0x80</code><code>0xff</code>之间的值通常代表负值<code>byte</code> ,将映射到<code>128</code><code>255</code>之间的正整数。</span> </p>
<p> <span>在发生读取之前,流内的位偏移被重置为零。</span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../java/io/DataInput.html#readUnsignedByte--">readUnsignedByte</a></code>在接口
<code><a href="../../../java/io/DataInput.html" title="interface in java.io">DataInput</a></code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
来自流的无符号字节值。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/io/EOFException.html" title="class in java.io">EOFException</a></code> - 如果达到流的结尾。
</dd>
<dd>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果发生I / O错误。
</dd>
</dl> </li>
</ul> <a name="readShort--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>readShort</h4> <pre>short readShort()
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>从流中读取两个字节,(在概念上)根据当前字节顺序连接它们,并以<code>short</code>值返回结果。</span>
<p> <span>在发生读取之前,流内的位偏移被重置为零。</span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../java/io/DataInput.html#readShort--">readShort</a></code>在界面
<code><a href="../../../java/io/DataInput.html" title="interface in java.io">DataInput</a></code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
从流中签名的短值。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/io/EOFException.html" title="class in java.io">EOFException</a></code> - 如果流在读取所有字节之前到达结束。
</dd>
<dd>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果发生I / O错误。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/imageio/stream/ImageInputStream.html#getByteOrder--"><code>getByteOrder()</code></a>
</dd>
</dl> </li>
</ul> <a name="readUnsignedShort--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>readUnsignedShort</h4> <pre>int readUnsignedShort()
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>中读取两个字节从该流,并根据当前字节顺序(概念上)将其连接,将得到的值转换为<code>int</code> ,口罩它<code>0xffff</code>为了去掉所有符号扩展位,并返回结果以无符号<code>int</code>价值。</span>
<p> <span>在发生读取之前,流内的位偏移被重置为零。</span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../java/io/DataInput.html#readUnsignedShort--">readUnsignedShort</a></code>在界面
<code><a href="../../../java/io/DataInput.html" title="interface in java.io">DataInput</a></code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
来自流的无符号短值作为int。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/io/EOFException.html" title="class in java.io">EOFException</a></code> - 如果流在读取所有字节之前到达结束。
</dd>
<dd>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果发生I / O错误。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/imageio/stream/ImageInputStream.html#getByteOrder--"><code>getByteOrder()</code></a>
</dd>
</dl> </li>
</ul> <a name="readChar--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>readChar</h4> <pre>char readChar()
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>相当于<code>readUnsignedShort</code> ,除了使用<code>char</code>数据类型返回结果。</span>
<p> <span>在发生读取之前,流内的位偏移被重置为零。</span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../java/io/DataInput.html#readChar--">readChar</a></code>在界面
<code><a href="../../../java/io/DataInput.html" title="interface in java.io">DataInput</a></code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
来自流的无符号字符值。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/io/EOFException.html" title="class in java.io">EOFException</a></code> - 如果流在读取所有字节之前到达结束。
</dd>
<dd>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果发生I / O错误。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/imageio/stream/ImageInputStream.html#readUnsignedShort--"><code>readUnsignedShort()</code></a>
</dd>
</dl> </li>
</ul> <a name="readInt--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>readInt</h4> <pre>int readInt()
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>从流中读取4个字节在概念上根据当前字节顺序连接它们并以<code>int</code>返回结果。</span>
<p> <span>流内的位偏移被忽略,并被视为零。</span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../java/io/DataInput.html#readInt--">readInt</a></code>在界面
<code><a href="../../../java/io/DataInput.html" title="interface in java.io">DataInput</a></code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
来自流的已签名的int值。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/io/EOFException.html" title="class in java.io">EOFException</a></code> - 如果流在读取所有字节之前到达结束。
</dd>
<dd>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果发生I / O错误。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/imageio/stream/ImageInputStream.html#getByteOrder--"><code>getByteOrder()</code></a>
</dd>
</dl> </li>
</ul> <a name="readUnsignedInt--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>readUnsignedInt</h4> <pre>long readUnsignedInt()
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>从流中读取4个字节从概念上讲根据当前字节顺序连接它们将结果转换为长时间使用<code>0xffffffffL</code>进行掩码,以剥离任何符号扩展位,并将结果返回为无符号<code>long</code>值。</span>
<p> <span>在发生读取之前,流内的位偏移被重置为零。</span> </p>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
来自流的无符号int值长久。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/io/EOFException.html" title="class in java.io">EOFException</a></code> - 如果流在读取所有字节之前到达结束。
</dd>
<dd>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果发生I / O错误。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/imageio/stream/ImageInputStream.html#getByteOrder--"><code>getByteOrder()</code></a>
</dd>
</dl> </li>
</ul> <a name="readLong--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>readLong</h4> <pre>long readLong()
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>从流中读取8个字节在概念上根据当前字节顺序连接它们并将结果作为<code>long</code>返回。</span>
<p> <span>在发生读取之前,流内的位偏移被重置为零。</span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../java/io/DataInput.html#readLong--">readLong</a></code>在界面
<code><a href="../../../java/io/DataInput.html" title="interface in java.io">DataInput</a></code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
从流中签名的长值。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/io/EOFException.html" title="class in java.io">EOFException</a></code> - 如果流在读取所有字节之前到达结束。
</dd>
<dd>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果发生I / O错误。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/imageio/stream/ImageInputStream.html#getByteOrder--"><code>getByteOrder()</code></a>
</dd>
</dl> </li>
</ul> <a name="readFloat--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>readFloat</h4> <pre>float readFloat()
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>从流中读取4个字节在概念上根据当前字节顺序连接它们并将结果作为<code>float</code>返回。</span>
<p> <span>在发生读取之前,流内的位偏移被重置为零。</span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../java/io/DataInput.html#readFloat--">readFloat</a></code>在界面
<code><a href="../../../java/io/DataInput.html" title="interface in java.io">DataInput</a></code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
来自流的浮点值。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/io/EOFException.html" title="class in java.io">EOFException</a></code> - 如果流在读取所有字节之前到达结束。
</dd>
<dd>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果发生I / O错误。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/imageio/stream/ImageInputStream.html#getByteOrder--"><code>getByteOrder()</code></a>
</dd>
</dl> </li>
</ul> <a name="readDouble--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>readDouble</h4> <pre>double readDouble()
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>从流中读取8个字节在概念上根据当前字节顺序连接它们并将结果作为<code>double</code>返回。</span>
<p> <span>在发生读取之前,流内的位偏移被重置为零。</span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../java/io/DataInput.html#readDouble--">readDouble</a></code>在界面
<code><a href="../../../java/io/DataInput.html" title="interface in java.io">DataInput</a></code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
来自流的双重值。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/io/EOFException.html" title="class in java.io">EOFException</a></code> - 如果流在读取所有字节之前到达结束。
</dd>
<dd>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果发生I / O错误。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/imageio/stream/ImageInputStream.html#getByteOrder--"><code>getByteOrder()</code></a>
</dd>
</dl> </li>
</ul> <a name="readLine--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>readLine</h4> <pre><a href="../../../java/lang/String.html" title="class in java.lang">String</a> readLine()
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>从输入流读取下一行文本。</span>
<span>它读取连续字节,将每个字节分别转换为字符,直到遇到行终止符或文件结尾;</span>
<span>读取的字符然后作为<code>String</code>返回。</span>
<span>请注意由于此方法处理字节它不支持输入完整的Unicode字符集。</span>
<p> <span>如果在甚至可以读取一个字节之前遇到文件结束,则返回<code>null</code></span> <span>否则,每个所读取字节被转换为类型<code>char</code>由零扩展。</span> <span>如果遇到<code>'\n'</code> '\n',则会被丢弃,读取停止。</span> <span>如果遇到<code>'\r'</code> '\r',则会被丢弃,如果以下字节转换为字符<code>'\n'</code> ,那么也将被丢弃;</span> <span>阅读然后停止。</span> <span>如果在遇到任何一个字符<code>'\n'</code><code>'\r'</code>之前遇到文件结尾,则读取停止。</span> <span>一旦阅读停止,将返回一个<code>String</code> ,其中包含读取并且不被丢弃的所有字符。</span> <span>请注意,此字符串中的每个字符的值都小于<code>\u0100</code> ,即<code>(char)256</code></span> </p>
<p> <span>在发生读取之前,流内的位偏移被重置为零。</span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../java/io/DataInput.html#readLine--">readLine</a></code>在界面
<code><a href="../../../java/io/DataInput.html" title="interface in java.io">DataInput</a></code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个包含流中文本行的字符串。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果发生I / O错误。
</dd>
</dl> </li>
</ul> <a name="readUTF--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>readUTF</h4> <pre><a href="../../../java/lang/String.html" title="class in java.lang">String</a> readUTF()
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>读取已使用<a href="../../../java/io/DataInput.html#modified-utf-8">modified UTF-8</a>格式编码的字符串。</span>
<span><code>readUTF</code>的一般合同是它读取以修改的UTF-8格式编码的Unicode字符串的表示;</span>
<span>这个字符串然后作为一个<code>String</code>返回。</span>
<p> <span>首先,使用网络字节顺序(不考虑当前字节顺序设置),以<code>readUnsignedShort</code>方法的方式读取和使用两个字节构造无符号16位整数。</span> <span>该整数值称为<i>UTF长度</i> ,并指定要读取的其他字节数。</span> <span>然后将这些字节通过组合考虑来转换为字符。</span> <span>每组的长度根据组的第一个字节的值计算。</span> <span>组之后的字节(如果有的话)是下一组的第一个字节。</span> </p>
<p> <span>如果一个组的第一个字节与位模式<code>0xxxxxxx</code> (其中<code>x</code>表示“可能是<code>0</code><code>1</code> ”) <code>1</code> ,则该组由该字节组成。</span> <span>该字节是零扩展形成一个字符。</span> </p>
<p> <span>如果一组的第一个字节与位模式<code>110xxxxx</code>匹配,那么该组由该字节<code>a</code>和第二个字节<code>b</code></span> <span>如果没有字节<code>b</code> (因为字节<code>a</code>是要读取的最后一个字节),或者如果字节<code>b</code>与位模式<code>10xxxxxx</code>不匹配,则抛出<code>UTFDataFormatException</code></span> <span>否则,该组将转换为字符:</span> </p>
<p></p>
<pre> <span><code> (char)(((a&amp; 0x1F) &lt;&lt; 6) | (b &amp; 0x3F)) </code></span> </pre>
<span>如果一组的第一个字节与位模式<code>1110xxxx</code>匹配,则该组由该字节<code>a</code>和另外两个字节<code>b</code><code>c</code></span>
<span>如果没有字节<code>c</code> (因为字节<code>a</code>是要读取的最后两个字节之一),或者字节<code>b</code>或字节<code>c</code>与位模式<code>10xxxxxx</code>不匹配,则抛出<code>UTFDataFormatException</code></span>
<span>否则,该组将转换为字符:</span>
<p></p>
<pre> <span><code> (char)(((a &amp; 0x0F) &lt;&lt; 12) | ((b &amp; 0x3F) &lt;&lt; 6) | (c &amp; 0x3F)) </code></span> </pre>
<span>如果组的第一个字节与模式<code>1111xxxx</code>或模式<code>10xxxxxx</code> ,则抛出<code>UTFDataFormatException</code></span>
<p> <span>如果在整个过程中的任何时间遇到文件结尾,则抛出<code>java.io.EOFException</code></span> </p>
<p> <span>通过此过程将每个组转换为一个字符后,以与输入流中读取相应组相同的顺序收集<code>String</code> ,形成一个返回的<code>String</code></span> </p>
<p> <span>当前字节顺序设置被忽略。</span> </p>
<p> <span>在发生读取之前,流内的位偏移被重置为零。</span> </p>
<p> <span><strong>注意:</strong>此方法不应用于执行使用标准UTF-8的图像格式因为此处使用的修改后的UTF-8与标准UTF-8不兼容。</span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../java/io/DataInput.html#readUTF--">readUTF</a></code>在界面
<code><a href="../../../java/io/DataInput.html" title="interface in java.io">DataInput</a></code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
从流中读取的字符串。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/io/EOFException.html" title="class in java.io">EOFException</a></code> - 如果此流在读取所有字节之前到达结束。
</dd>
<dd>
<code><a href="../../../java/io/UTFDataFormatException.html" title="class in java.io">UTFDataFormatException</a></code> - 如果字节不表示字符串的有效修改的UTF-8编码。
</dd>
<dd>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果发生I / O错误。
</dd>
</dl> </li>
</ul> <a name="readFully-byte:A-int-int-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>readFully</h4> <pre>void readFully(byte[] b,
int off,
int len)
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>从流中读取<code>len</code>字节,并将它们存储在<code>b</code>从索引<code>off</code>开始。</span>
<span>如果达到流的末尾,将抛出一个<code>java.io.EOFException</code></span>
<p> <span>在发生读取之前,流内的位偏移被重置为零。</span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../java/io/DataInput.html#readFully-byte:A-int-int-">readFully</a></code>在界面
<code><a href="../../../java/io/DataInput.html" title="interface in java.io">DataInput</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>b</code> - 要写入的字节数组。
</dd>
<dd>
<code>off</code> - 起始位置在
<code>b</code>内写。
</dd>
<dd>
<code>len</code> - 要阅读的最大数量为
<code>byte</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/IndexOutOfBoundsException.html" title="class in java.lang">IndexOutOfBoundsException</a></code> - 如果
<code>off</code>为负数,
<code>len</code>为负数,或
<code>off + len</code>大于
<code>b.length</code>
</dd>
<dd>
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>b</code>
<code>null</code>
</dd>
<dd>
<code><a href="../../../java/io/EOFException.html" title="class in java.io">EOFException</a></code> - 如果流在读取所有字节之前到达结束。
</dd>
<dd>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果发生I / O错误。
</dd>
</dl> </li>
</ul> <a name="readFully-byte:A-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>readFully</h4> <pre>void readFully(byte[] b)
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>读取<code>b.length</code>从流字节,并将其存储到<code>b</code>开始于索引<code>0</code></span>
<span>如果达到流的末尾,将抛出一个<code>java.io.EOFException</code></span>
<p> <span>在发生读取之前,流内的位偏移被重置为零。</span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../java/io/DataInput.html#readFully-byte:A-">readFully</a></code>在界面
<code><a href="../../../java/io/DataInput.html" title="interface in java.io">DataInput</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>b</code> -的阵列
<code>byte</code>秒。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>b</code>
<code>null</code>
</dd>
<dd>
<code><a href="../../../java/io/EOFException.html" title="class in java.io">EOFException</a></code> - 如果流在读取所有字节之前到达结束。
</dd>
<dd>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果发生I / O错误。
</dd>
</dl> </li>
</ul> <a name="readFully-short:A-int-int-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>readFully</h4> <pre>void readFully(short[] s,
int off,
int len)
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>读取<code>len</code>从根据当前字节顺序的流短裤带符号的16位整数并将其存储到<code>s</code>开始于索引<code>off</code></span>
<span>如果达到流的末尾,将抛出一个<code>java.io.EOFException</code></span>
<p> <span>在发生读取之前,流内的位偏移被重置为零。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>s</code> - 要写入的短裤阵列。
</dd>
<dd>
<code>off</code> - 起始位置在
<code>s</code>内写。
</dd>
<dd>
<code>len</code> - 要阅读的最大数量为
<code>short</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/IndexOutOfBoundsException.html" title="class in java.lang">IndexOutOfBoundsException</a></code> - 如果
<code>off</code>为负数,则
<code>len</code>为负数,或
<code>off + len</code>大于
<code>s.length</code>
</dd>
<dd>
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>s</code>
<code>null</code>
</dd>
<dd>
<code><a href="../../../java/io/EOFException.html" title="class in java.io">EOFException</a></code> - 如果流在读取所有字节之前到达结束。
</dd>
<dd>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果发生I / O错误。
</dd>
</dl> </li>
</ul> <a name="readFully-char:A-int-int-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>readFully</h4> <pre>void readFully(char[] c,
int off,
int len)
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>读取<code>len</code>从根据当前字节顺序的流字符无符号的16位整数并将其存储到<code>c</code>开始于索引<code>off</code></span>
<span>如果到达流的末尾,将抛出一个<code>java.io.EOFException</code></span>
<p> <span>在发生读取之前,流内的位偏移被重置为零。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>c</code> - 要写入的字符数组。
</dd>
<dd>
<code>off</code> - 起始位置在
<code>c</code>内写。
</dd>
<dd>
<code>len</code> - 要阅读的最大数量为
<code>char</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/IndexOutOfBoundsException.html" title="class in java.lang">IndexOutOfBoundsException</a></code> - 如果
<code>off</code>为负数,
<code>len</code> ,否则为
<code>off + len</code> ,或
<code>off + len</code>大于
<code>c.length</code>
</dd>
<dd>
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>c</code>
<code>null</code>
</dd>
<dd>
<code><a href="../../../java/io/EOFException.html" title="class in java.io">EOFException</a></code> - 如果流在读取所有字节之前到达结束。
</dd>
<dd>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果发生I / O错误。
</dd>
</dl> </li>
</ul> <a name="readFully-int:A-int-int-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>readFully</h4> <pre>void readFully(int[] i,
int off,
int len)
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>读取<code>len</code>从根据当前字节顺序的流整数带符号的32位整数并将其存储到<code>i</code>开始于索引<code>off</code></span>
<span>如果达到流的末尾,将抛出一个<code>java.io.EOFException</code></span>
<p> <span>在发生读取之前,流内的位偏移被重置为零。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>i</code> - 要写入的int数组。
</dd>
<dd>
<code>off</code> - 起始位置在
<code>i</code>内写。
</dd>
<dd>
<code>len</code> - 要阅读的最大数量为
<code>int</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/IndexOutOfBoundsException.html" title="class in java.lang">IndexOutOfBoundsException</a></code> - 如果
<code>off</code>是负数,则
<code>len</code>为负数,或
<code>off + len</code>大于
<code>i.length</code>
</dd>
<dd>
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>i</code>
<code>null</code>
</dd>
<dd>
<code><a href="../../../java/io/EOFException.html" title="class in java.io">EOFException</a></code> - 如果流在读完所有字节之前到达结束。
</dd>
<dd>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果发生I / O错误。
</dd>
</dl> </li>
</ul> <a name="readFully-long:A-int-int-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>readFully</h4> <pre>void readFully(long[] l,
int off,
int len)
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>读取<code>len</code>从根据当前字节顺序的流long有符号的64位整数并将其存储到<code>l</code>开始于索引<code>off</code></span>
<span>如果到达流的末尾,将抛出一个<code>java.io.EOFException</code></span>
<p> <span>在发生读取之前,流内的位偏移被重置为零。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>l</code> - 要写入的数组。
</dd>
<dd>
<code>off</code> - 起始位置在
<code>l</code>内写。
</dd>
<dd>
<code>len</code> - 要阅读的最大数量为
<code>long</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/IndexOutOfBoundsException.html" title="class in java.lang">IndexOutOfBoundsException</a></code> - 如果
<code>off</code>为负数,则
<code>len</code>为负数,或
<code>off + len</code>大于
<code>l.length</code>
</dd>
<dd>
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>l</code>
<code>null</code>
</dd>
<dd>
<code><a href="../../../java/io/EOFException.html" title="class in java.io">EOFException</a></code> - 如果流在读取所有字节之前到达结束。
</dd>
<dd>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果发生I / O错误。
</dd>
</dl> </li>
</ul> <a name="readFully-float:A-int-int-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>readFully</h4> <pre>void readFully(float[] f,
int off,
int len)
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>读取<code>len</code>根据当前字节顺序从流浮标32位IEEE单精度浮点值并且将它们存储到<code>f</code>开始于索引<code>off</code></span>
<span>如果达到流的末尾,将抛出一个<code>java.io.EOFException</code></span>
<p> <span>在发生读取之前,流内的位偏移被重置为零。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>f</code> - 要写入的浮点数组。
</dd>
<dd>
<code>off</code> - 起始位置在
<code>f</code>内写。
</dd>
<dd>
<code>len</code> - 要阅读的最大数量为
<code>float</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/IndexOutOfBoundsException.html" title="class in java.lang">IndexOutOfBoundsException</a></code> - 如果
<code>off</code>为负,
<code>len</code> ,否则为
<code>off + len</code> ,或
<code>off + len</code>大于
<code>f.length</code>
</dd>
<dd>
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>f</code>
<code>null</code>
</dd>
<dd>
<code><a href="../../../java/io/EOFException.html" title="class in java.io">EOFException</a></code> - 如果流在读取所有字节之前到达结束。
</dd>
<dd>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果发生I / O错误。
</dd>
</dl> </li>
</ul> <a name="readFully-double:A-int-int-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>readFully</h4> <pre>void readFully(double[] d,
int off,
int len)
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>读取<code>len</code>根据当前字节顺序从流双打64位IEEE双精度浮点值并且将它们存储到<code>d</code>开始于索引<code>off</code></span>
<span>如果达到流的末尾,将抛出<code>java.io.EOFException</code></span>
<p> <span>在发生读取之前,流内的位偏移被重置为零。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>d</code> - 要写入的双精度数组。
</dd>
<dd>
<code>off</code> - 起始位置在
<code>d</code>内写。
</dd>
<dd>
<code>len</code> - 要阅读的最大数量为
<code>double</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/IndexOutOfBoundsException.html" title="class in java.lang">IndexOutOfBoundsException</a></code> - 如果
<code>off</code>为负数,则
<code>len</code>为负数,或
<code>off + len</code>大于
<code>d.length</code>
</dd>
<dd>
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>d</code>
<code>null</code>
</dd>
<dd>
<code><a href="../../../java/io/EOFException.html" title="class in java.io">EOFException</a></code> - 如果流在读取所有字节之前到达结束。
</dd>
<dd>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果发生I / O错误。
</dd>
</dl> </li>
</ul> <a name="getStreamPosition--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getStreamPosition</h4> <pre>long getStreamPosition()
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>返回流的当前字节位置。</span>
<span>下一次读取将从此偏移开始。</span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个长的包含流的位置。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果发生I / O错误。
</dd>
</dl> </li>
</ul> <a name="getBitOffset--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getBitOffset</h4> <pre>int getBitOffset()
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>返回当前的位偏移量为0到7之间的整数包括0和7。</span>
<span>通过调用<code>readBits</code>方法<code>readBits</code>更新位偏移。</span>
<span>值为0表示最高有效位值为7表示正在读取的字节的最低有效位。</span>
<p> <span>位偏移量被设置为0时流被第一次打开并且通过调用复位为0至<code>seek</code> <code>skipBytes</code> ,或任何<code>read</code><code>readFully</code>方法。</span> </p>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个
<code>int</code>其中包含0和7之间的位偏移量包括0和7。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果发生I / O错误。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/imageio/stream/ImageInputStream.html#setBitOffset-int-"><code>setBitOffset(int)</code></a>
</dd>
</dl> </li>
</ul> <a name="setBitOffset-int-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setBitOffset</h4> <pre>void setBitOffset(int bitOffset)
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>将位偏移设置为0到7之间的整数包括0和7。</span>
<span><code>getStreamPosition</code>返回的流内的字节偏移量保持不变。</span>
<span>值为0表示最高有效位值为7表示正在读取的字节的最低有效位。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>bitOffset</code> - 所需的偏移量为0和7之间的
<code>int</code> 包括0和7。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果
<code>bitOffset</code>不在0和7之间包括0和7。
</dd>
<dd>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果发生I / O错误。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/imageio/stream/ImageInputStream.html#getBitOffset--"><code>getBitOffset()</code></a>
</dd>
</dl> </li>
</ul> <a name="readBit--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>readBit</h4> <pre>int readBit()
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>从流中读取一个位,并将其作为<code>int</code>返回,值为<code>0</code><code>1</code></span>
<span>位偏移前进一并减少模8。</span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个
<code>int</code>包含值
<code>0</code>
<code>1</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/io/EOFException.html" title="class in java.io">EOFException</a></code> - 如果流在读取所有位之前到达结束。
</dd>
<dd>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果发生I / O错误。
</dd>
</dl> </li>
</ul> <a name="readBits-int-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>readBits</h4> <pre>long readBits(int numBits)
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>从流读取一个bitstring并将其作为<code>long</code>返回,第一位读取成为输出的最高有效位。</span>
<span>读通过指定的字节内开始<code>getStreamPosition</code> ,在由给定的位<code>getBitOffset</code></span>
<span>位偏移提前<code>numBits</code>并减少模8。</span>
<p> <span>流的字节顺序对此方法没有影响。</span> <span>该方法的返回值被构造为一次读取一个位,并且移位到返回值的右侧,如以下伪代码所示:</span> </p>
<pre> <span><code> long accum = 0L; for (int i = 0; i &lt; numBits; i++) { accum &lt;&lt;= 1; // Shift left one bit to make room accum |= readBit(); } </code></span> </pre>
<span>需要注意的是的结果<code>readBits(32)</code>可因此不等于的<code>readInt()</code> ,如果正在使用的反向网络字节顺序(即, <code>getByteOrder() == false</code> )。</span>
<p> <span>如果在读取所有位之前遇到流的结尾,则抛出<code>java.io.EOFException</code></span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>numBits</code> -比特数来读取,作为
<code>int</code> 0至64包括端值。
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
bitstring作为
<code>long</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>numBits</code>不在0和64之间
</dd>
<dd>
<code><a href="../../../java/io/EOFException.html" title="class in java.io">EOFException</a></code> - 如果流在读取所有位之前到达结束。
</dd>
<dd>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果发生I / O错误。
</dd>
</dl> </li>
</ul> <a name="length--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>length</h4> <pre>long length()
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>如果已知,返回流的总长度。</span>
<span>否则返回<code>-1</code></span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个
<code>long</code>包含流的长度,如果知道,否则
<code>-1</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果发生I / O错误。
</dd>
</dl> </li>
</ul> <a name="skipBytes-int-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>skipBytes</h4> <pre>int skipBytes(int n)
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>将流位置向前移动给定数量的字节。</span>
<span>这种方法可能只能以比所请求的更少的字节向前跳过,例如,如果到达流的结尾。</span>
<span>在所有情况下,返回实际跳过的字节数。</span>
<span>位置偏移在前进位置之前设置为零。</span>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../java/io/DataInput.html#skipBytes-int-">skipBytes</a></code>在界面
<code><a href="../../../java/io/DataInput.html" title="interface in java.io">DataInput</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>n</code> - 包含要跳过的字节数的
<code>int</code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个
<code>int</code>表示跳过的字节数。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果发生I / O错误。
</dd>
</dl> </li>
</ul> <a name="skipBytes-long-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>skipBytes</h4> <pre>long skipBytes(long n)
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>将流位置向前移动给定数量的字节。</span>
<span>该方法与<code>skipBytes(int)</code>相同,只是允许较大的跳跃距离。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>n</code> - 包含要跳过的字节数的
<code>long</code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个
<code>long</code>表示跳过的字节数。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果发生I / O错误。
</dd>
</dl> </li>
</ul> <a name="seek-long-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>seek</h4> <pre>void seek(long pos)
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>将当前流位置设置为所需位置。</span>
<span>下一次读取将发生在此位置。</span>
<span>位偏移设置为0。</span>
<p> <span>一个<code>IndexOutOfBoundsException</code>如果将被抛出<code>pos</code>比冲洗位置(如通过返回较小<code>getflushedPosition</code> )。</span> </p>
<p> <span>寻求文件结尾是合法的;</span> <span>一个<code>java.io.EOFException</code>会,如果执行读取只抛出。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>pos</code> - 一个
<code>long</code>所需文件指针位置的long。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/IndexOutOfBoundsException.html" title="class in java.lang">IndexOutOfBoundsException</a></code> - 如果
<code>pos</code>小于冲洗位置。
</dd>
<dd>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果发生任何其他I / O错误。
</dd>
</dl> </li>
</ul> <a name="mark--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>mark</h4> <pre>void mark()</pre>
<div class="block">
<span>在流中标记要通过后续呼叫返回到<code>reset</code></span>
<span>与标准<code>InputStream</code>不同,所有<code>ImageInputStream</code>都支持标记。</span>
<span>此外,来电<code>mark</code><code>reset</code>可以任意地嵌套。</span>
<p> <span><code>Reader</code><code>InputStream</code>接口声明的<code>mark</code>方法不同,不<code>readLimit</code> readLimit参数。</span> <span>在调用<code>mark</code>可以读取任意数量的数据。</span> </p>
<p> <span>通过<code>mark</code><code>reset</code>的每对呼叫保存并恢复<code>readBits</code>方法使用的位位置。</span> </p>
<p> <span>请注意,它是有效的为<code>ImageReader</code>打电话<code>flushBefore</code>作为读取操作的一部分。</span> <span>因此,如果一个应用程序调用<code>mark</code>传递一个流的前<code>ImageReader</code> ,该应用程序不应该假定标记位置将保持有效的读操作完成后。</span> </p>
</div> </li>
</ul> <a name="reset--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>reset</h4> <pre>void reset()
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>在最近不匹配的呼叫到<code>mark</code>的时候,返回到前一个位置的流指针,包括位偏移量。</span>
<p> <span>拨打<code>reset</code>没有对应的呼叫<code>mark</code>没有任何效果。</span> </p>
<p> <span>一个<code>IOException</code>如果先前的标记位置位于流的丢弃部分将被抛出。</span> </p>
</div>
<dl>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果发生I / O错误。
</dd>
</dl> </li>
</ul> <a name="flushBefore-long-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>flushBefore</h4> <pre>void flushBefore(long pos)
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>在指示的位置之前丢弃流的初始部分。</span>
<span>尝试寻求在流的冲洗部分内的偏移将导致<code>IndexOutOfBoundsException</code></span>
<p> <span>调用<code>flushBefore</code>可能允许实现此接口的类释放用于从流中存储数据的资源(如内存或磁盘空间)。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>pos</code> - 一个
<code>long</code>其中包含可能被刷新的流前缀的长度。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/IndexOutOfBoundsException.html" title="class in java.lang">IndexOutOfBoundsException</a></code> - 如果
<code>pos</code>位于流的冲洗部分或超过当前流位置。
</dd>
<dd>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果发生I / O错误。
</dd>
</dl> </li>
</ul> <a name="flush--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>flush</h4> <pre>void flush()
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>在当前流位置之前丢弃流的初始位置。</span>
<span>相当于<code>flushBefore(getStreamPosition())</code></span>
</div>
<dl>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果发生I / O错误。
</dd>
</dl> </li>
</ul> <a name="getFlushedPosition--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getFlushedPosition</h4> <pre>long getFlushedPosition()</pre>
<div class="block">
<span>返回可以执行搜索的流中的最早位置。</span>
<span>返回的值将是传递到先前调用的所有值的最大值为<code>flushBefore</code></span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
最早寻求法定职位,作为
<code>long</code>
</dd>
</dl> </li>
</ul> <a name="isCached--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>isCached</h4> <pre>boolean isCached()</pre>
<div class="block">
<span>如果<code>ImageInputStream</code>缓存数据本身以返回<code>true</code> ,则返回。</span>
<span>为了节省高速缓存资源,应用程序可以参考这一点,以确定刷新频率或是否进行刷新。</span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<code>true</code>如果这个
<code>ImageInputStream</code>缓存数据。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/imageio/stream/ImageInputStream.html#isCachedMemory--"><code>isCachedMemory()</code></a>
<a href="../../../javax/imageio/stream/ImageInputStream.html#isCachedFile--"><code>isCachedFile()</code></a>
</dd>
</dl> </li>
</ul> <a name="isCachedMemory--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>isCachedMemory</h4> <pre>boolean isCachedMemory()</pre>
<div class="block">
<span>返回<code>true</code>如果这<code>ImageInputStream</code>缓存数据本身为了允许向后搜索,缓存保存在主内存中。</span>
<span>为了节省高速缓存资源,应用程序可以参考这一点,以确定刷新频率或是否进行刷新。</span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<code>true</code>如果这
<code>ImageInputStream</code>缓存数据在主内存中。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/imageio/stream/ImageInputStream.html#isCached--"><code>isCached()</code></a>
<a href="../../../javax/imageio/stream/ImageInputStream.html#isCachedFile--"><code>isCachedFile()</code></a>
</dd>
</dl> </li>
</ul> <a name="isCachedFile--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>isCachedFile</h4> <pre>boolean isCachedFile()</pre>
<div class="block">
<span>返回<code>true</code>如果这<code>ImageInputStream</code>高速缓存数据本身以允许向后搜索,缓存保存在临时文件中。</span>
<span>为了节省高速缓存资源,应用程序可以参考这一点,以确定刷新频率或是否进行刷新。</span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<code>true</code>如果这个
<code>ImageInputStream</code>缓存数据在一个临时文件。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/imageio/stream/ImageInputStream.html#isCached--"><code>isCached()</code></a>
<a href="../../../javax/imageio/stream/ImageInputStream.html#isCachedMemory--"><code>isCachedMemory()</code></a>
</dd>
</dl> </li>
</ul> <a name="close--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>close</h4> <pre>void close()
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>关闭流。</span>
<span>尝试访问已关闭的流可能会导致<code>IOException</code>或错误的行为。</span>
<span>调用此方法可能允许实现此接口的类释放与流相关的资源,如内存,磁盘空间或文件描述符。</span>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../java/lang/AutoCloseable.html#close--">close</a></code>在界面
<code><a href="../../../java/lang/AutoCloseable.html" title="interface in java.lang">AutoCloseable</a></code>
</dd>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../java/io/Closeable.html#close--">close</a></code>在界面
<code><a href="../../../java/io/Closeable.html" title="interface in java.io">Closeable</a></code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果发生I / O错误。
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>