如何从FAT16文件系统中查找文件
---LSHICEMAN,2010/01/06
1、读取根目录下的文件
首先读取根目录的第一个扇区的512字节数据,因为FAT16文件系统中一个文件的信息是用32个字节表示的,这32个字节在《FAT16文件系统学习笔记》中有详细解释,其中前8字节是文件名,接下来3个字节是扩展名。对于文件名和扩展名,第1个字节如果为0x00表示此空间未使用,0xe5表示文件已经删除,如果第一字节检测到是这两个数的话就可以忽略,继续检测下32字节的文件信息。如果在第一扇区未能找到对应的文件,刚继续检测下一扇区,直到检测完根目录下的所有扇区,仍然没有发现在这个文件,则不存在该文件。如果该文件存在,则返回该文件的首簇。
2、读取其它文件夹下的文件
如果要查找的文件在根目录的一个文件夹里,则按照上面的方法,在根目录里找到这个文件夹的首簇,进入这个文件夹的首簇,可以看到这个簇的内容和根目录的内容相似,也是每32个字节表示一个文件信息,之后按照上面所讲的方法查找文件。如果要查找的文件在多级目录下,方法也一样。