创建在设置上次写入时间时锁定的新文件

本文关键字:新文件 锁定 文件 时间 设置 创建 | 更新日期: 2023-09-27 18:37:03

我正在从InputStreams用C#创建文件并将它们写入公共共享文件夹。在我将其设置为LastWriteTime属性之前,我不能让其他人读取该文件。我正在使用以下代码:

// Write file to disk
using (var fileStream = File.Create(fileName))
{
    webStream.CopyTo(fileStream);
}
File.SetLastWriteTimeUtc(path, timestamp); 
可能会出现其他人在

调用文件之前读取文件的情况File.SetLastWriteTimeUtc()。我该如何防止这种情况?

创建在设置上次写入时间时锁定的新文件

创建文件流时,您必须设置正确的共享选项:

using (var fileStream = new FileStream(fileName, FileMode.Create, FileAccess.ReadWrite, FileShare.None)

您的最后一条指令也应该在 using 语句,因为 using 保证文件在外部时关闭。