Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2758308
  • 博文数量: 389
  • 博客积分: 4177
  • 博客等级: 上校
  • 技术积分: 4773
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-16 23:29
文章分类

全部博文(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文件,保留的还是原来的文件,就像对这个文件编辑的操作不曾发生过.

阅读(8381) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2009-03-06 20:35:26

看来你文笔不错啊,不过在那种地方有点浪费人才