当应用程序保存文件时,典型的模型是将文件保存到临时位置,然后将临时文件移动到最终位置。在某些情况下,“移动”变成“替换”。在伪码中:
Save temp file;
if final file exists
delete final file;
move temp file to final filename;在那里有一个窗口,删除可能成功,但移动可能不会成功,因此您可以通过如下方式来处理:
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. 现在来回答我的问题:
?
发布于 2009-07-15 00:27:01
如果临时文件只是临时文件,则在临时文件夹中创建临时文件。否则,在其最终目标中创建它。
注意事项:
1)如果最终目标是“拾取”文件夹(除非“拾音器”进程检查锁定的文件(它应该检查)),这可能无法工作。
2)最终目的地具有特殊权限,这些权限必须在代码中创建并应用,然后才能移动到最终目的地。
发布于 2009-07-15 00:26:09
Microsoft将临时文件保存到以tilde (~)开头的原始目录。我只会按照惯例行事。
发布于 2009-07-15 03:11:45
如果这些是转换为永久文件的临时文件,请在相同的位置创建它们,以避免在磁盘/分区之间“移动”文件的任何风险,这将导致更多的I/O (作为一个副本,后面跟着一个delete)。
如果这些是真正临时的临时文件,则在temp中创建(并保留它们)。
https://stackoverflow.com/questions/1128772
复制相似问题