文件本质上是一个字节序列。
文件具有开头和结尾,它的当前位置通常被定义为距离开头多少个字节。
在文件中可以写入任何数据。如你所见,把数据写入文件的方式多种多样,但无论数据是什么,最终得到的只是一个字节序列。这意味着,在读入文件时,程序必须知道文件表示的数据是什么类型的。你已经见过多次了,一个字节序列表示的是什么,是由如何解释它决定的。一个12字节的序列可能是12个字符、12个8位的有符号整数、12个8位的无符号整数、6个16位的有符号整数、1个32位的整数后加1个8字节的浮点数等等。这些都是数据的有效解释,所以关键在于读入文件的程序正确地认定了文件是如何编写的。
1、文件分类
从文件的编码方式来看,文件可分为ASCII码文件和二进制文件肉种类型。
(1)ASCII码文件也称为文本文件,这种文件在磁盘存放时每个字符对应一个字节,用于存放字符对应的ASCII码。
例如:字符串“5678”在磁盘存储为如下形式:
ASCII码: 00110101 00110110 00110111 00111000
十进制码: 5 6 7 8
ASCII码文件可在屏幕上按字符显示,例如源程序文件就是ASCII码文件。
(2)二进制文件是按二进制的编码方式来存放文件的。
例如,整数5678的存储形式为:00010110 00101110,只占两个字节的存储空间。二进制文件虽然也可在屏幕上显示,但通常显示为乱码,其内容无法读懂。