Re: [問題] 請問readbyte()跟read() 有什麼不同?

看板java作者 (躂躂..)時間19年前 (2006/06/19 00:14), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
※ 引述《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
文章代碼(AID): #14bNm33J (java)
文章代碼(AID): #14bNm33J (java)