创建在设置上次写入时间时锁定的新文件
本文关键字:新文件 锁定 文件 时间 设置 创建 | 更新日期: 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 保证文件在外部时关闭。