Java面试题:IO流中read()方法为什么返回值是int
生活随笔
收集整理的這篇文章主要介紹了
Java面试题:IO流中read()方法为什么返回值是int
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Question:IO流中read()方法為什么返回值是int?
anwser:因為字節(jié)輸入流可以操作任意類型的文件,比如圖片音頻等,這些文件底層都是以二進制形式的存儲的,如果每次讀取都返回byte,一次讀取一個字節(jié)為8位,有可能在讀到中間的時候遇到111111111,那么這11111111是byte類型的-1,我們的程序是遇到-1就會停止不讀了,后面的數(shù)據(jù)就讀不到了,所以在讀取的時候用int類型接收,int是32位,如11111111會在其前面補上24個0湊足4個字節(jié),那么byte類型的-1就變成int類型的255了這樣可以保證整個數(shù)據(jù)讀完,而結(jié)束標(biāo)記的-1就是int類型 。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的Java面试题:IO流中read()方法为什么返回值是int的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: day44-前端知识之HTML内容
- 下一篇: 19-A Walk-based Mode