1. 程式人生 > >為什麼“-1”能作為判斷文字檔案結束的標誌然而為什麼不能作為二進位制檔案是否結束的標誌?

為什麼“-1”能作為判斷文字檔案結束的標誌然而為什麼不能作為二進位制檔案是否結束的標誌?

在java中,由於沒有編碼為-1的字元,所以作業系統就使用-1作為硬碟上的每個檔案的結束標誌。

這種使用“-1”作為判斷文字檔案的結束標誌而不能作為判斷二進位制檔案是否結束。儘管二進位制檔案的結尾標記也是-1,當程式讀取到一個正好為-1的位元組時,就難以偶按段是檔案結尾還是檔案中的有效資料。

對於標準的二進位制檔案,在檔案開始的部分,都有一個檔案頭指定檔案的大小,程式就是憑藉檔案頭中的這個大小來讀取檔案的所有內容。