首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Java FileInputStream read() 返回值解析:讀取單字節並轉為 int

     編輯:程式設計疑難解答

代碼

FileInputStream in = new FileInputStream("F:/Test.txt");
FileOutputStream out = new FileOutputStream("G:/Test.txt");
int b;
while ((b = in.read()) != -1) {
    out.write(b);
    System.out.println(b); // 輸出 206, 210, 202...
}

原理

  • read() 每次讀取一個字節,將其無符號擴展為 0~255 的 int 返回。若到達文件末尾返回 -1。
  • write(int b) 將參數低 8 位作為字節寫入。
  • 輸出數值(如 206)即為文件中對應字節的十進制值(0xCE)。

關鍵點

b 不是讀取的字節數(固定為 1),而是字節內容的整數表示。這是流式 I/O 基礎:按字節處理二進制數據。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved