全部博文(389)
分类: WINDOWS
2009-01-10 11:56:16
浅谈WORD临时文件
作者:小邹
当我们在编辑一个WORD文档的时候,WORD软件就会开始在该文档的目录下生成一系列的.隐藏的以$开头的,或以TMP结尾的临时文件.如我们现在编辑的文档的名称为a.doc,则会生成$a.doc;$wrl3434.tmp等文件.
在打开一个DOC文档的时候,WORD软件采用了一种叫作SHADOW COPY(影子拷贝)的技术.该技术的具体思想是,当打开一个文件的时候,会对要打开的文件做一个COPY,当前WORD正在编辑的文件就是SHADOW COPY文件,而不是真正的要编辑的文件,同时会对真正要编辑的文件进行写锁定,避免其他用户同时修改,但是其他用户可以读取,读取的内容是上一次保存的结果.
.
我们每做一个操作都被实时地记录在SHADOW COPY文件里面,每记录一次操作都会形成一个检查点,这样就可以带来好下好处:1,由于每一个操作都有一个检查点记录,所以我们可以对WORD文档的操作进行撤消,撤消的单元为一个基本的操作,2.如果WORD软件异常退出(如系统崩溃,软件本身崩溃,软件被强制退出),可以使WORD恢复到异常退出时的前一刻,也就是到最后一个检查点.
当编辑WORD文档时.也会在其软件安装目录下打开一个指针文件.记录当前正在进行编辑的文档信息,如果WORD正常退出,则该指针处记录WORD已成功退出,如果WORD被异常退出,则标记不成功,那么当下次重新启动WORD时,WORD软件会读取该指针文件,确定是否有未完成的记录,一旦发现有未成,则读取该录指向的文件以其与该文件下的所生成的临时文件,这时候WORD软件会出现一个信息,说明上次软件是非正常关闭的,用户是否需要恢复文件.
当正常退出WORD.如果用户选择”保存”则WORD删除之前的文件.保留下来的是经过修改的SHADOW COPY文件.也就是我们相要的结果.当用户选择”不保存”.则删除SHADOW COPY文件,保留的还是原来的文件,就像对这个文件编辑的操作不曾发生过.