如果我直接去读硬盘扇区,请问我如何来定位一个文件和其大小?

解决方案 »

  1.   

    有文件系统的知识吗?
    比如FAT文件系统的FAT, FDT,
    NTFS的MFT等。
      

  2.   

    对于FAT的,可以在FAT中查找,每个文件对应的32位入口(Entry),记录的有首簇的地址和文件大小,创建时间,文件名,然后依靠FDT表依次读出文件内容,这方面可以参考FAT32 overview。
      

  3.   

    自己分析文件系统格式,FAT的比较简单,一个星期应该能学明白,NTFS麻烦点,但是如果弄清楚了结构,提取文件比FAT还简单
    FAT结构资料:http://blog.chinaunix.net/u/22754/showart_330162.html
    NTFS资料:http://www.reddragonfly.org/ntfs/
      

  4.   

    NTFS不公开的,这个较为复杂。可以参考Linux的代码。不过貌似也不大稳定。
      

  5.   

    现在可以得到的NTFS的资料已经足以读取非加密和压缩的文件了
      

  6.   

    NTFS不公开的,这个较为复杂。可以参考Linux的代码。不过貌似也不大稳定。
    ==================================================================
    NTFS下读(非加密、非压缩)文件是没任何问题了,关键是写。呵,老夫正在研究。。
      

  7.   

    ntfs-3g和fuse参考一下不就成了呵呵。