代码之家  ›  专栏  ›  技术社区  ›  Carra

强制打开文件

  •  3
  • Carra  · 技术社区  · 16 年前

    但是,如果我用C#打开日志文件,我会得到一个“这个文件正被另一个进程使用”IOException。使用的代码:

    using(StreamReader reader = File.OpenRead(myFile))//IOException
    

    C++程序打开文件(我不能更改C++程序):

    m_hFile = tsopen(m_csFilePath, 
    _O_WRONLY|_O_APPEND|_O_TRUNC|_O_CREAT|_O_BINARY,
    _SH_DENYWR,
    _S_IREAD | _S_IWRITE); 
    

    用记事本打开文件效果很好,因此应该可以打开它。我可以强制我的C#程序以只读模式打开文件吗?

    2 回复  |  直到 11 年前
        1
  •  8
  •   Samuel    16 年前

    也许可以尝试用 ReadWrite FileShare ?

    File.Open(myFile, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)
    
        2
  •  1
  •   Dirk Vollmar    16 年前

    您可以使用 File.Copy