我尝试string[] file = File.ReadAllLines(file_name)
来读取word文件。
在调试模式下,我发现字符串数组文件的前几个参数的值为
"��ࡱ�0\0\0\0>\0\0��\t\0\0\0\0\0"
。我怎么能摆脱这个。
在某些文件中,文件[]的前3个参数用这些填充,而对于少数文件,只有第一个参数填充了这些不可用的字符。
问题是什么?如何摆脱这个问题?但我的word文件开头甚至没有空行。
答案 0 :(得分:3)
问题是您没有使用正确的编码打开文件。 Here是从C#打开和创建Word文档的指南。
答案 1 :(得分:2)
File.ReadAllLines适用于文本文件。 Word文件是不文本文件。要阅读Word文件,您可能需要一个库。
答案 2 :(得分:1)
如果您使用的是.NET 3.5,那么我建议您使用LINQ where子句只返回您感兴趣的行。
string[] file = File.ReadAllLines(file_name).Where(line => !line.StartsWith("��")).ToArray();
您也可以使用某种形式的正则表达式而不是line.StartsWith()
方法。
注意:如果您正在阅读Microsoft Office Word文件,我建议您使用COM Interop或第三方库来阅读MS Word文档(您会发现它比尝试更容易自己解析文件。)
答案 3 :(得分:1)