示例演示java.io.DataInputStream.readByte()方法的用法。
import java.io.ByteArrayInputStream
import java.io.DataInputStream
import java.io.IOException
import java.io.InputStream
public class DataInputStreamDemo {
public static void main(String[] args) throws IOException {
InputStream is = null
DataInputStream dis = null
byte[] buf = {65, 0, 0, 68, 69}
try{
// create new byte array input stream
is = new ByteArrayInputStream(buf)
// create data input stream
dis = new DataInputStream(is)
// readBoolean till the data available to read
while( dis.available() >0)
{
// read one single byte
byte b = dis.readByte()
// print the byte
System.out.print(b+" ")
}
}catch(Exception e){
// if any I/O error occurs
e.printStackTrace()
}finally{
// releases any associated system files with this stream
if(is!=null)
is.close()
if(dis!=null)
dis.close()
}
}
}
让我们编译和运行上面的程序,这将产生以下结果:
65 0 0 68 69
public abstract int read()()throws IOException从输入流中读取数据的下一个字节。返回 0 到 255 范围内的 int 字节值。如果因为已经到达流末尾而没有可用的字节,则返回值 -1。在输入数据可用、检测到流末尾或者抛出异常前,此方法一直阻塞。子类必须提供此方法的一个实现。还有下面两个方法可选,具体的API说明查找java.io.InputStream的说明。public int read(byte[] b)throws IOExceptionpublic int read(byte[] b,int off, int len) throws IOException字节转整数时注意高地位。