C# 文件同步写入锁定

void Main()
{
    var path = @"D:\test.txt";
    
    using (FileStream fs = new FileStream(
                path,
                FileMode.OpenOrCreate, // 打开或创建文件
                FileAccess.Write,      // 请求写入权限
                FileShare.Read))       // 关键:允许其他进程读取,但不允许它们写入[1,6](@ref)
    {
        
        FileInfo fileInfo = new FileInfo(path);
        
        // 判断文件在最后一次读取后是否有被人写入过。如果有,不能保存;如果没有,直接保存。
        
        fileInfo.LastWriteTime.Dump();
        
        Thread.Sleep(100000);
        
//        // 将字符串内容转换为字节数组并写入文件
//        byte[] data = Encoding.UTF8.GetBytes(content);
//        fs.Write(data, 0, data.Length);
//        Console.WriteLine("内容已成功写入文件,文件处于锁定状态。");
//
//        // 此处可以模拟一个长时间的操作,在此期间文件锁保持有效
//        // Console.WriteLine("按任意键释放文件锁...");
//        // Console.ReadKey();
    }
}

// You can define other methods, fields, classes and namespaces here

 

posted on 2025-09-26 13:21  空明流光  阅读(7)  评论(0)    收藏  举报

导航