作者cole945 (躂躂..)
看板java
标题Re: [问题] 请问readbyte()跟read() 有什麽不同?
时间Mon Jun 19 00:24:33 2006
※ 引述《alen127 (小印)》之铭言:
: read() 它是用来读出资料中单一的无号位元组,传回无号位元组的整数值
: 也就是说它所传回的值只在0~255之间
: 至於readByte() 它也是读取单一位元组,但是不同余的部分就在於它所回传的值却是在
: -128~127之间的有号byte()
: 也就是这两个不同地方就在於 一个回传值是0~255 另一个是-128~127
: 这应该是最大的不同点吧,以上是个人知道的部分假如在下有所错误
: 请麻烦纠正一下 因为有纠正才会进步...多谢!!
hi,
因为自己也蛮好奇的..
所以刚刚把jdk15的这段code拿出来直接看差别..
分享一下心得 囧"
FileInputSteam的int read()
是直接用java native的read指令读一个byte
(因为要用无号表示..所以用 int 来存 0~255 ? )
[code]
public native int read() throws IOException;
[/code]
DataInputStream byte readByte()
其实只是把 read 的结果再 cast 到 byte而已..
[code]
public final byte readByte() throws IOException {
int ch = in.read();
if (ch < 0)
throw new EOFException();
return (byte)(ch);
}
[/code]
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.139.145.136