文件基礎

一:文件是怎樣讀寫的?

如果是讀文件,過程是:磁碟 -> 文件緩衝區 -> 進程內存空間

如果是寫文件,過程是:進程內存空間 -> 文件緩衝區 -> 磁碟

二:文件的結構

所有文件都包括兩部分信息:控制信息和內容信息。

控制信息是文件的元數據,比如文件的大小,許可權,創建時間等屬性。

三:文本文件和二進位文件有什麼區別?

1)能存儲的數據類型不同

文本文件只能存儲char型字元變數。

二進位文件可以存儲char/int/short/long/float/……各種變數值。

2.)每條數據的長度

文本文件每條數據通常是固定長度的。以ASCII為例,每條數據(每個字元)都是1個位元組。

二進位文件每條數據不固定。如short佔兩個位元組,int佔四個位元組,float佔8個位元組……

3) 讀取的軟體不同

文本文件編輯器就可以讀寫。比如記事本、NotePad++、Vim等。

二進位文件需要特別的解碼器。比如bmp文件需要圖像查看器,rmvb需要播放器……

這是因為文本文件沒有控制信息。

推薦閱讀:

如何在 Ubuntu 上使用 ZFS 文件系統
如何使用特殊許可權:setuid、setgid 和 sticky 位

TAG:操作系統 | 文件系統 |