我正在尝试使用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
答案 0 :(得分:8)
试试FileShare.ReadWrite
。 http://msdn.microsoft.com/en-us/library/system.io.fileshare.aspx处的解释意味着使用FileShare.Read
与尝试编写的其他进程冲突。
答案 1 :(得分:2)
尝试将FileShare
设置为ReadWrite
。 Word很可能锁定文件,阻止您锁定它。