首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我应该将临时文件写到临时目录中吗?还是将临时文件写入最终目录?

问我应该将临时文件写到临时目录中吗?还是将临时文件写入最终目录?
EN

Stack Overflow用户
提问于 2009-07-15 00:21:49
回答 9查看 784关注 0票数 2

当应用程序保存文件时,典型的模型是将文件保存到临时位置,然后将临时文件移动到最终位置。在某些情况下,“移动”变成“替换”。在伪码中:

代码语言:javascript
复制
Save temp file;
if final file exists
   delete final file;
move temp file to final filename;

在那里有一个窗口,删除可能成功,但移动可能不会成功,因此您可以通过如下方式来处理:

代码语言:javascript
复制
Save temp file;
if final file exists
   move final file to parking lot
move temp file to final filename;
if move succeeded       
   delete previous final file. 
else
   restore previous final file. 

现在来回答我的问题:

  1. 是否倾向于将临时文件保存到临时目录,然后将其移动,而不是将临时文件保存到最终目录?(如果是,为什么?)
  2. 对一个文件的属性和权限是否存在差异,该文件首先保存到临时目录中,然后移动到另一个目录中的最终文件,与保存到最终目录中的临时文件相比,然后在目录中重命名?
  3. ,如果两者的答案都是肯定的,那么我如何才能在首先保存到临时目录,然后移动到最终目录的文件上得到适当的ACL?

?

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2009-07-15 00:27:01

如果临时文件只是临时文件,则在临时文件夹中创建临时文件。否则,在其最终目标中创建它。

注意事项:

1)如果最终目标是“拾取”文件夹(除非“拾音器”进程检查锁定的文件(它应该检查)),这可能无法工作。

2)最终目的地具有特殊权限,这些权限必须在代码中创建并应用,然后才能移动到最终目的地。

票数 1
EN

Stack Overflow用户

发布于 2009-07-15 00:26:09

Microsoft将临时文件保存到以tilde (~)开头的原始目录。我只会按照惯例行事。

票数 1
EN

Stack Overflow用户

发布于 2009-07-15 03:11:45

如果这些是转换为永久文件的临时文件,请在相同的位置创建它们,以避免在磁盘/分区之间“移动”文件的任何风险,这将导致更多的I/O (作为一个副本,后面跟着一个delete)。

如果这些是真正临时的临时文件,则在temp中创建(并保留它们)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1128772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档