Vb.net System.IO.StreamReader返回损坏的输出

Vb.net System.IO.StreamReader返回损坏的输出,vb.net,Vb.net,下面给出的代码正在将损坏的数据返回到变量“mystr” 像 PK!��fѲ� [内容类型].xml�(� �UMk�@���^��N %�9�ɱ 它正在正确读取word文件。突然,它开始发生,代码、软件版本或源文件没有任何更改!!我尝试运行以下代码的任何word文件都会产生相同的损坏输出。我能够在MsWord中打开该文件,而没有任何问题 Dim myStreamReader As System.IO.StreamReader Dim myStr

下面给出的代码正在将损坏的数据返回到变量“mystr” 像

PK!��fѲ� [内容类型].xml�(� �UMk�@���^��N %�9�ɱ

它正在正确读取word文件。突然,它开始发生,代码、软件版本或源文件没有任何更改!!我尝试运行以下代码的任何word文件都会产生相同的损坏输出。我能够在MsWord中打开该文件,而没有任何问题

        Dim myStreamReader As System.IO.StreamReader
        Dim myStr As String
        myStreamReader = System.IO.File.OpenText("c:\test.docx")
        myStr = myStreamReader.ReadToEnd()
        myStreamReader.Close()

有什么建议吗?

您不能使用
StreamReader
类读取Word文档,因为文件本身不是纯文本(它包含您发现的“已损坏”的数据)


链接将帮助您读取Word文档中的文本。

您无法使用StreamReader读取二进制数据,如.docx文件。这是一个压缩档案,PK是ZIP文件格式的发明者Phil Katz。读取.docx文件需要Microsoft.Office.Interop.Word或OpenXML SDK。