更新時間:2022-11-30 11:44:59 來源:動力節點 瀏覽2220次
InputStream 該類的基本方法 是read() ,它讀取單個無符號字節數據并返回無符號字節的整數值。這是一個介于 和 255 之間的數字:
公共抽象 int read() 拋出 IOException
以下代碼從 System.in輸入流中讀取 10 個字節并將它們存儲在int數組中data:
int[] 數據 = 新的 int[10];
對于 (int i = 0; i < data.length; i++) {
數據[i] = System.in.read();
}
請注意,雖然read()正在讀取 a byte,但它會返回 an int。如果您想改為存儲原始字節,則可以將 int轉換為byte. 例如:
字節[] b = 新字節[10];
對于 (int i = 0; i < b.length; i++) {
b[i] = (字節) System.in.read();
}
當然,這會生成一個有符號字節,而不是該read()方法返回的無符號字節(即,一個在 -128 到 127 范圍內的字節,而不是到 255)。只要您在頭腦和代碼中清楚您是在處理簽名數據還是未簽名數據,就不會有任何問題。有符號字節可以 int像這樣轉換回 255 范圍內的 s:
int i = (b >= 0) ? b: 256 + b;
當你打電話時read(),你還必須抓住 IOException它可能拋出的。正如我所觀察到的,輸入和輸出經常受到您無法控制的問題的影響:磁盤故障、網絡電纜斷開等。因此,幾乎任何 I/O 方法都可以拋出IOException,read()也不例外。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習