编辑文件时临时文件

躺着睡的蜗牛 2013-10-31 02:49:25
有些编辑器在编辑文件时会产生临时文件, 想问一下这个临时文件一般用为保存什么的?是保存修改的内容还是其它东东?
还有就是临时文件的作用, 一般来说修改内容放内存也是可以的, 使用临时文件觉得有些奇怪。


...全文
253 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
纠结的程序猿 2013-11-03
  • 打赏
  • 举报
回复
这个问题我可以回答你。 一般文本编辑器在编辑小文件时读入内存,编辑大文件时需要使用内存映射文件。内存映射文件必须锁住,因为如果被别的程序修改就会出错。所以一般把原始文件拷贝成临时文件,然后加锁,映射。
躺着睡的蜗牛 2013-10-31
  • 打赏
  • 举报
回复
如果文件很大的话,创建副本需要花很长的时间。有些编辑器会创建副本,不明白这样做有什么好处。 我觉得只要把修改过的内容放副本,防止异常发生导致数据丢失就可以了。
whizer 2013-10-31
  • 打赏
  • 举报
回复
文件一般会定时同步,把你更新的内容写回. 但是如果遇到进程突然挂掉之类无法控制的事情的时候,临时文件保存的总是最新的内容. 你可以测试一下:用vim打开一个文件,然后关闭终端,再次打开终端,比较一下两者的差别.
赵4老师 2013-10-31
  • 打赏
  • 举报
回复
主要为支持撤销操作用,我猜。
图灵狗 2013-10-31
  • 打赏
  • 举报
回复
临时文件一般是你正在编辑内容的副本,它的主要作用是避免突然断电之后数据全部丢失。
引用 楼主 diplopod 的回复:
有些编辑器在编辑文件时会产生临时文件, 想问一下这个临时文件一般用为保存什么的?是保存修改的内容还是其它东东? 还有就是临时文件的作用, 一般来说修改内容放内存也是可以的, 使用临时文件觉得有些奇怪。
羽飞 2013-10-31
  • 打赏
  • 举报
回复
我看Ultra Edit就是保存整个文件的

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧