boolean()
读取一个输入字节,如果该字节不是零,则返回 true
,如果是零,则返回
false
。此方法适用于读取用接口 DataOutput
的 writeBoolean
方法写入的字节。返回:读取的 boolean
值。</tr>
<tr>
<td>byte<a href="http://www.cjsdn.net/Doc/JDK50/java/io/DataInput.html#readByte()">readByte()
读取并返回一个输入字节。此方法适用于读取用接口 DataOutput
的 writeByte
方法写入的字节。返回:读取的 8 位值。</td>
</tr>
<tr>
<td>char<a href="http://www.cjsdn.net/Doc/JDK50/java/io/DataInput.html#readChar()">readChar()
读取一个输入的 char
并返回该 char
值。Unicode char
由两个字节组成。设 a
为第一个读取字节,b
为第二个读取字节。返回的值是:(char)((a << 8) | (b & 0xff))。此方法适用于读取用接口 DataOutput
的 writeChar
方法写入的字节。
返回:读取的 Unicode char
值。</td>
</tr>
<tr>
<td>double <a href="http://www.cjsdn.net/Doc/JDK50/java/io/DataInput.html#readDouble()">readDouble()
读取八个输入字节并返回一个 double
值。实现这一点的方法是:先使用与 readlong
方法完全相同的方式构造一个 long
值,然后使用与 Double.longBitsToDouble
方法完全相同的方式将此 long
值转换成一个 double
值。此方法适用于读取用接口 DataOutput
的 writeDouble
方法写入的字节。</td>
</tr>
<tr>
<td>float <a href="http://www.cjsdn.net/Doc/JDK50/java/io/DataInput.html#readFloat()">readFloat()
读取四个输入字节并返回一个 float
值。实现这一点的方法是:先使用与 readInt
方法完全相同的方式构造一个 int
值,然后使用与 Float.intBitsToFloat
方法完全相同的方式将此 int
值转换成一个 float
值。此方法适用于读取用接口 DataOutput
的 writeFloat
方法写入的字节。</td>
</tr>
<tr>
<td>void <a href="http://www.cjsdn.net/Doc/JDK50/java/io/DataInput.html#readFully(byte[])">readFully(byte[]b) throws <a title="java.io 中的类" href="http://www.cjsdn.net/Doc/JDK50/java/io/IOException.html">IOException,<a title="java.io 中的类" href="http://www.cjsdn.net/Doc/JDK50/java/io/EOFException.html">EOFException
从输入流中读取一些字节,并将它们存储到缓冲区数组 b
中。读取的字节数等于 b
的长度。如果 b
为 null
,则抛出 NullPointerException
。如果 b.length
为零,则不读取字节。否则,将读取的第一个字节存储到元素 b[0]
中,下一个字节存储到 b[1]
中,依此类推。如果此方法抛出异常,则可能是因为已经用输入流中的数据更新了 b
的某些(但非全部)字节。参数:b
- 存储读取数据的缓冲区。</td>
</tr>
<tr>
<td>void <a href="http://www.cjsdn.net/Doc/JDK50/java/io/DataInput.html#readFully(byte[],int,int)">readFully(byte[]b,intoff,intlen)
从输入流中读取 len
个字节。如果 b
为 null
,则抛出 NullPointerException
。如果 off
为负,或 len
为负,抑或 off+len
大于数组 b
的长度,则抛出 IndexOutOfBoundsException
。如果 len
为零,则不读取字节。否则,将读取的第一个字节存储到元素 b[off]
中,下一个字节存储到 b[off+1]
中,依此类推。读取的字节数至多等于 b[0]
。参数:b
- 存储读取数据的缓冲区。off
- 指定数据中的偏移量的 int。len
- 指定读取的字节数的 int。</td>
</tr>
<tr>
<td>int <a href="http://www.cjsdn.net/Doc/JDK50/java/io/DataInput.html#readInt()">readInt()
读取四个输入字节并返回一个 int
值。设 a
为第一个读取字节,b
为第二个读取字节,c
为第三个读取字节,d
为第四个读取字节。返回的值是:(((a & 0xff) << 24) | ((b & 0xff) << 16) |
((c & 0xff) << 8) | (d & 0xff))。此方法适用于读取用接口 DataOutput
的 writeInt
方法写入的字节。
返回:读取的 int
值
</td>
</tr>
<tr>
<td>String <a href="http://www.cjsdn.net/Doc/JDK50/java/io/DataInput.html#readLine()">readLine()
从输入流中读取下一文本行。该方法读取连续的字节,将每个字节分别转换成一个字符,直到遇到行结尾符或末尾;然后以 String
形式返回读取的字符。注意,因为此方法处理字符,所以它不支持整个 Unicode 字符集的输入。如果在一个字节都没有读取的时候就遇到文件末尾,则返回 null
。否则,通过左侧补零将读取的每个字节转换成 char
类型的值。如果遇到字符 'n'
,则丢弃它并且停止读取。如果遇到字符 'r'
则丢弃它,如果后续字节转变成字符 'n'
,则同样丢弃,并且停止读取。如果在遇到字符 'n'
和 'r'
之一前遇到文件末尾,则停止读取。一旦已停止读取,则返回一个 String
,它按顺序包含所有已读取且未丢弃的字符。注意,此字符串中的每个字符的值都将小于 u0100
(即 (char)256
)的值。</td>
</tr>
<tr>
<td>long <a href="http://www.cjsdn.net/Doc/JDK50/java/io/DataInput.html#readLong()">readLong()
读取八个输入字节并返回一个 long
值。设 a
为第一个读取字节,b
为第二个读取字节,c
为第三个读取字节,d
为第四个读取字节,e
为五个读取字节,f
为第六个读取字节,g
为第七个读取字节,h
为第八个读取字节。返回的值是:
(((long)(a & 0xff) << 56) |
((long)(b & 0xff) << 48) |
((long)(c & 0xff) << 40) |
((long)(d & 0xff) << 32) |
((long)(e & 0xff) << 24) |
((long)(f & 0xff) << 16) |
((long)(g & 0xff) << 8) |
((long)(h & 0xff)))。此方法适用于读取用接口 DataOutput
的 writeLong
方法写入的字节。
()
读取两个输入字节并返回一个 short
值。设 a
为第一个读取字节,b
为第二个读取字节。返回的值是:(short)((a << 8) | (b & 0xff))
此方法适用于读取用接口 DataOutput
的 writeShort
方法写入的字节。返回:读取的 16 位值。()
读取一个输入字节,将它左侧补零 (zero-extend) 转变为 int
类型,并返回结果,所以结果的范围是 0
到 255
。如果接口 DataOutput
的 writeByte
方法的参数是 0
到 255
之间的值,则此方法适用于读取用 writeByte
写入的字节。返回:读取的无符号 8 位值。</tr>
<tr>
<td>int <a href="http://www.cjsdn.net/Doc/JDK50/java/io/DataInput.html#readUnsignedShort()">readUnsignedShort()
读取两个输入字节,并返回 0
到 65535
范围内的一个
int
值。设 a
为第一个读取字节,b
为第二个读取字节。返回的值是:(((a & 0xff) << 8) | (b & 0xff))。如果接口 DataOutput
的 writeShort
方法的参数是 0
到 65535
范围内的值,则此方法适用于读取用 writeShort
写入的字节。
返回:读取的无符号 16 位值。</td>
</tr>
<tr>
<td>String<a href="http://www.cjsdn.net/Doc/JDK50/java/io/DataInput.html#readUTF()">readUTF()
读入一个已使用 <a href="http://www.cjsdn.net/Doc/JDK50/java/io/DataInput.html#modified-utf-8">UTF-8 修改版格式编码的字符串。</td>
</tr>
<tr>
<td>int <a href="http://www.cjsdn.net/Doc/JDK50/java/io/DataInput.html#skipBytes(int)">skipBytes(intn)throws <a title="java.io 中的类" href="http://www.cjsdn.net/Doc/JDK50/java/io/IOException.html">IOException
试图在输入流中跳过数据的 n
个字节,并丢弃跳过的字节。不过,它可以跳过更少的字节数,该字节数甚至可能为零。这可能由很多情况引起;在已经跳过 n
个字节前到达文件末尾只是其中的一种可能。此方法从不抛出 EOFException
。返回实际跳过的字节数。参数:n
- 要跳过的字节数。返回:实际跳过的字节数。</td>
</tr>
</table>
<p style="text-align: left;"><span style="color: #ff00ff;">public interface DataOutput
DataOutput
接口用于将任意 Java 基本类型转换为一系列字节,并将这些字节写入二进制流。同时还提供了一个将 String
转换成 格式并写入所得到的系列字节的工具。
对于此接口中写入字节的所有方法,如果由于某种原因无法写入某个字节,则抛出 IOException
。
- 所有已知子接口:
- ,
- 所有已知实现类:
- ,,,,,,
- 方法摘要:
-
(byte[]b)
将数组 b
中的所有字节写入输出流。如果 b
为 null
,则抛出 NullPointerException
。如果 b.length
为零,则不写入字节。否则,首先写入字节 b[0]
,然后写入字节 b[1]
,依此类推;最后一个写入字节是 b[b.length-1]
。</tr>
<tr>
<td><span style="font-family: Verdana,Arial,Helvetica,sans-serif;">void <a style="font-weight: bold;" href="http://www.cjsdn.net/Doc/JDK50/java/io/DataOutput.html#write(byte[],int)">write(byte[]b,intlen)
将数组 b
中的 len
个字节按顺序写入输出流。如果 b
为 null
,则抛出 NullPointerException
。如果 off
为负,或 len
为负,抑或 off+len
大于数组 b
的长度,则抛出 IndexOutOfBoundsException
。如果 len
为零,则不写入字节。否则,首先写入字节 b[off]
,然后写入字节 b[off+1]
,依此类推;最后一个写入字节是 b[off+len-1]
。参数:b
- 数据。off
- 数据中的起始偏移量。len
- 要写入的字节数。</td>
</tr>
<tr>
<td>void <a href="http://www.cjsdn.net/Doc/JDK50/java/io/DataOutput.html#write(int)">write(intb)
将参数 b
的八个低位写入输出流。忽略 b
的 24 个高位。</td>
</tr>
<tr>
<td>void <a href="http://www.cjsdn.net/Doc/JDK50/java/io/DataOutput.html#writeBoolean(boolean)">writeBoolean(booleanv)
将一个 boolean
值写入输出流。如果参数 v
为 true
,则写入值 (byte)1
;如果 v
为 false
,则写入值 (byte)0
。此方法写入的字节可由 DataInput
接口的 readBoolean
方法读取,然后该方法将返回一个等于 v
的 boolean
值。</td>
</tr>
<tr>
<td>void <a href="http://www.cjsdn.net/Doc/JDK50/java/io/DataOutput.html#writeByte(int)">writeByte(intv)
将参数 v
的八个低位写入输出流。忽略 v
的 24 个高位。(这意味着 writeByte
的作用与使用整数做参数的 write
完全相同。)此方法写入的字节可由 DataInput
接口的 readByte
方法读取,然后该方法将返回一个等于 (byte)v
的 byte
值。</td>
</tr>
<tr>
<td>void <a href="http://www.cjsdn.net/Doc/JDK50/java/io/DataOutput.html#writeBytes(java.lang.String)">writeBytes(<a title="java.lang 中的类" href="http://www.cjsdn.net/Doc/JDK50/java/lang/String.html">Strings)
将一个字符串写入输出流。字符串 s
中的每一个字符被依次写入输出流,每个字符用一个字节表示。如果 s
为 null
,则抛出 NullPointerException
。
如果 s.length
为零,则不写入字节。否则,首先写入字符 s[0]
,然后写入字符 s[1]
,依此类推;最后一个写入字符是 s[s.length-1]
。使用与 writeByte
方法完全相同的方法为每个字符写入一个低位字节。忽略字符串中每个字符的八个高位。
</td>
</tr>
<tr>
<td>void <a href="http://www.cjsdn.net/Doc/JDK50/java/io/DataOutput.html#writeChar(int)">writeChar(intv)
将一个 char
值写入输出流,该值由两个字节组成。</td>
</tr>
<tr>
<td>void <a href="http://www.cjsdn.net/Doc/JDK50/java/io/DataOutput.html#writeChars(java.lang.String)">writeChars(<a title="java.lang 中的类" href="http://www.cjsdn.net/Doc/JDK50/java/lang/String.html">Strings)
将字符串 s
中的所有字符按顺序写入输出流,每个字符用两个字节表示。如果 s
为 null
,则抛出 NullPointerException
。如果 s.length
为零,则不写入字符。否则,首先写入字符 s[0]
,然后写入字符 s[1]
,依此类推;最后一个写入字符是 s[s.length-1]
。使用与 writeChar
方法完全相同的方法为每个字符实际写入两个字节,先使用高位字节。</td>
</tr>
<tr>
<td>void <a href="http://www.cjsdn.net/Doc/JDK50/java/io/DataOutput.html#writeDouble(double)">writeDouble(doublev)
将一个 double
值写入输出流,该值由八个字节组成。</td>
</tr>
<tr>
<td>void <a href="http://www.cjsdn.net/Doc/JDK50/java/io/DataOutput.html#writeFloat(float)">writeFloat(floatv)
将一个 float
值写入输出流,该值由四个字节组成。</td>
</tr>
<tr>
<td>void <a href="http://www.cjsdn.net/Doc/JDK50/java/io/DataOutput.html#writeInt(int)">writeInt(intv)
将一个 int
值写入输出流,该值由四个字节组成。</td>
</tr>
<tr>
<td>void <a href="http://www.cjsdn.net/Doc/JDK50/java/io/DataOutput.html#writeLong(long)">writeLong(longv)
将一个 long
值写入输出流,该值由八个字节组成。</td>
</tr>
<tr>
<td>void <a href="http://www.cjsdn.net/Doc/JDK50/java/io/DataOutput.html#writeShort(int)">writeShort(intv)
将两个字节写入输出流,用它们表示参数值。</td>
</tr>
<tr>
<td>void <a href="http://www.cjsdn.net/Doc/JDK50/java/io/DataOutput.html#writeUTF(java.lang.String)">writeUTF(<a title="java.lang 中的类" href="http://www.cjsdn.net/Doc/JDK50/java/lang/String.html">Stringstr)
将表示长度信息的两个字节写入输出流,后跟字符串 s
中每个字符的 <a href="http://www.cjsdn.net/Doc/JDK50/java/io/DataInput.html#modified-utf-8">UTF-8 修改版表示形式。</td>
</tr>
</table>
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!