我正在尝试使用 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,它指出该文件已被另一个进程打开并且无法打开。
当我尝试在 Notepad++ 中打开同一个文件时,它在 Word 中打开时没有问题。所以基本上应该是可以的。
有什么我忽略的吗?
快速编辑:如果有帮助,我正在使用 Word 2007 和 VisualStudio 2008。 .NET Framework 版本为 3.5
最佳答案
试试 FileShare.ReadWrite
。 http://msdn.microsoft.com/en-us/library/system.io.fileshare.aspx的解释暗示使用 FileShare.Read
会与其他试图写入的进程发生冲突。
关于C#:在 Word 中打开 FileStream 中的 Word 文件以供读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3675002/