亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

字節流讀取問題,-1標識怎么排除意外情況的?

字節流讀取問題,-1標識怎么排除意外情況的?

needself 2015-10-17 15:05:57
FileInputStream in = new FileInputStream("demo/1.txt");int b = 0;while((b = in.read()) != -1){********}這段小代碼應該沒問題,我想問的就是,如果b是每次能讀取的8位數據進行判斷后,再進入循環體。那么,b這個32位的int型變量,在每一次讀取時是不是就代表了每次只利用了b的32位里的低8位存儲?如果文本中的數據剛好有個低8位就能表示為-1的數據,這時候b讀取到怎么判斷ta不是文本結束的標識而只是內容?這里文本結束標識的-1的2進制表示是 32位的么?
查看完整描述

1 回答

已采納
?
天啟之魂

TA貢獻174條經驗 獲得超85個贊

8個字節能表示的int 字節值只能是0~255 ?即00000000 ~11111111 ?所以不可能出現剛好低八位表示為-1的數據

read()方法只有在讀取?數據時 遇到數據的結尾標識 發現后面沒有數據可讀的情況下 才會返回-1

查看完整回答
反對 回復 2015-10-17
  • needself
    needself
    嗯,int類型規避了這個可能,難怪!謝謝!
  • 1 回答
  • 0 關注
  • 1511 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號