C#: 当Word文件已在Word中打开时,使用FileStream以只读方式打开该文件。

5

我正试图使用C#中的FileStream打开一个Word文件进行读取。我编写了一个简单的示例应用程序,其中包含一个文本字段和一个按钮来触发流的创建。打开文件的示例代码如下:

if (File.Exists(this.TxtPath.Text))
{
    Stream s = new FileStream(this.TxtPath.Text,
    FileMode.Open, FileAccess.Read,
    FileShare.Read);
}

当我尝试打开一个已经在Word中被打开的Word文件时,会显示一个System.IO.Exception错误,提示该文件已经被另一个进程打开,无法打开。

当我尝试在Word中打开同一文件时,在Notepad++中打开该文件不会有问题。所以基本上应该是可以的。

我是否忽略了什么?

快速编辑: 我正在使用 Word 2007 和 VisualStudio 2008,.NET Framework 版本为3.5。

2个回答

8

2
尝试将FileShare设置为ReadWrite。Word很可能已经锁定了该文件,这会防止您对其进行锁定。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接