C#:在 Word 中打开 FileStream 中的 Word 文件以供读取

标签 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,它指出该文件已被另一个进程打开并且无法打开。

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

有什么我忽略的吗?

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

最佳答案

试试 FileShare.ReadWritehttp://msdn.microsoft.com/en-us/library/system.io.fileshare.aspx的解释暗示使用 FileShare.Read 会与其他试图写入的进程发生冲突。

关于C#:在 Word 中打开 FileStream 中的 Word 文件以供读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3675002/

相关文章:

c# - 如何以线程安全的方式检查一个线程的状态?

c# - 在 ASP.Net 中将数据更新到 SQL Server 的最佳实践是什么

css - 使用 css 从 ms word 重新创建 smartart 人字形列表

c# - 检查 MS Word 中单击了哪个字段

c# - 有哪些模板引擎可以在 Microsoft Word 中创建模板?

.net - FileStream.ReadByte - 低效 - 这是什么意思?

c# - 为什么在字典声明中使用接口(interface)?

c# - 不能加整数

带有空格问题的 C++ 字符串

asp.net - (ASP.NET)Stream.Write 在服务器上失败但在开发机器上工作 - 有什么想法吗?