C#:在FileStream中打开Word文件,以便在Word中打开时进行读取

时间:2010-09-09 08:37:40

标签: c# ms-word filestream

我正在尝试使用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中打开同一个文件时,它在Word中打开它无问题。所以基本上应该是可能的。

有什么我忽略的吗?

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

2 个答案:

答案 0 :(得分:8)

试试FileShare.ReadWritehttp://msdn.microsoft.com/en-us/library/system.io.fileshare.aspx处的解释意味着使用FileShare.Read与尝试编写的其他进程冲突。

答案 1 :(得分:2)

尝试将FileShare设置为ReadWrite。 Word很可能锁定文件,阻止您锁定它。