当前位置: 首页 > 编程语言 > C#

如何用C#锁定文件?分享

时间:2023-04-10 15:29:03 C#

C#如何锁定一个文件?我不确定人们通常所说的“锁定”文件是什么意思,但我想要的是对一个文件执行此操作,我会尝试用另一个会产生“指定文件正在使用”的文件打开应用。我想这样做是为了测试我的应用程序,看看当我尝试在此状态下打开文件时它的行为。我试过这个:FileStreamfs=null;privatevoidlockToolStripMenuItem_Click(objectsender,EventArgse){fs=newFileStream(@"C:UsersJuanLuisDesktopcorte.txt",FileMode.Open);}privatevoidunlockToolStripMenuItem_Click(objectArgenders,Eve){fs.Close();但显然它没有达到我的预期,因为我可以在“锁定”时使用记事本打开文件。那么如何锁定该文件,使其无法通过其他应用程序打开以进行测试?根据http://msdn.microsoft.com/en-us/library/system.io.fileshare(v=vs.71).aspxFileStreams2=newFileStream(name,FileMode.Open,FileAccess.Read,FileShare.没有任何);您需要传入FileShare枚举值None以在FileStream构造函数重载上打开:fs=newFileStream(@"C:UsersJuanLuisDesktopcorte.txt",FileMode.Open,FileAccess.ReadWrite,FileShare.None);虽然FileShare.None无疑是锁定整个文件的快速简便的解决方案,但您可以使用FileStream.Lock()锁定文件的一部分。publicvirtualvoidLock(longposition,longlength)参数position类型:System.Int64要锁定的范围的开始。此参数的值必须等于或大于零(0)。length类型:System.Int64要锁定的范围。相反,您可以使用以下方式解锁文件:FileStream.Unlock()以上是C#学习教程:如何使用C#锁定文件?如果分享的内容对你有用,需要了解更多C#学习教程,希望大家多多关注——publicvirtualvoidUnlock(longposition,longlength)参数position类型:System.Int64开头要解锁的范围。length类型:System.Int64要解锁的范围。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: