FileStream包含锁定的文件请问是否可以将一个只读的FileStream变成一个锁定的文件?我现在在尝试读取锁定文件时遇到异常。使用(FileStreamstream=newFileStream("path",FileMode.Open))谢谢!您应该尝试另一个构造函数。它们记录在MSDN上。这看起来像是一个赌注:FileStreamConstructor(String,FileMode,FileAccess,FileShare)MSDN链接FileAccess决定FileStream对象如何访问文件的常量。这将获取FileStream对象的CanRead和CanWrite属性。如果路径指定磁盘文件,则CanSeek为真。文件共享确定进程如何共享文件的常量。using(FileStreamstream=newFileStream("path",FileMode.Open))这将使用FileShare参数FileShare.Read的默认值。这将拒绝写入文件的任何进程。如果另一个进程正在写入文件,则不起作用,您不能否认您已获得的权利。您必须指定FileShare.ReadWrite。如果其他进程使用FileShare.None,那可能仍然不起作用,没有解决方法。请注意,获取正在写入的文件的读取权限很麻烦,您没有可靠的文件结束指示。文件中的最后一条记录或最后一行可能只被部分写入。我已经使用了以下有效的方法,但应谨慎使用,因为当您通过另一个进程打开文件时,该文件可能会被修改。FileStreamfs=newFileStream(path,FileMode.Open,FileAccess.Read,FileShare.ReadWrite);您可以简单地解锁文件并在之后阅读它。只需使用Sysinternals中的Handle.exe,或使用命令行选项即可解锁。它们都可以解锁文件,您可以轻松地从程序中执行它们而无需离开程序。(但不要将它们用于WindowsSAM文件,它不适用于SAM;)祝你好运!以上就是C#学习教程:FileStream包含了锁定文件共享的全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
