C# 如何从字节数组加载Word文档
我将整个MS Word文件本身保存到一个字节数组中。a希望以在文件系统中加载的方式加载它,但使用的Microsoft.Office.Interop.Word最少,因为它在获取C# 如何从字节数组加载Word文档,c#,ms-word,extract,office-interop,C#,Ms Word,Extract,Office Interop,我将整个MS Word文件本身保存到一个字节数组中。a希望以在文件系统中加载的方式加载它,但使用的Microsoft.Office.Interop.Word最少,因为它在获取.Open(args[])部分时速度非常慢。试试这个 byte[] bte = File.ReadAllBytes("E:\\test.doc"); // Put the Reading file File.WriteAllBytes(@"E:\\test1.doc", bte); // Same
.Open(args[])
部分时速度非常慢。试试这个
byte[] bte = File.ReadAllBytes("E:\\test.doc"); // Put the Reading file
File.WriteAllBytes(@"E:\\test1.doc", bte); // Same contents you will get in byte[] and that will be save here
方法
publicstaticbyte[]ReadAllBytes(
字符串路径
)
将所有文件信息返回到字节数组中。您不必担心流,正如MSDN文档所说:
给定文件路径,此方法打开文件,将文件内容读入字节数组,然后关闭文件
如果您想了解更多信息,请查看由于没有支持字节数组的方法,因此不支持使用Interop.Word立即执行此操作 作为可行的解决方法,您可以以下列方式使用临时文件:
// byte[] fileBytes = getFileBytesFromDB();
var tmpFile = Path.GetTempFileName();
File.WriteAllBytes(tmpFile, fileBytes);
Application app = new word.Application();
Document doc = app.Documents.Open(filePath);
// .. do your stuff here ...
doc.Close();
app.Quit();
byte[] newFileBytes = File.ReadAllBytes(tmpFile);
File.Delete(tmpFile);
如需更多信息,请访问我的博客。您想做什么。/。。您想读取该文件。。或者写文件???我想读它的文本内容。我已经回答了。。。。检查它…我应该在哪里检查它?看下面我已经回答并将您的文件路径放在代码中…您会得到答案它仍然使用文件系统I/O。我相信作者正在寻找一种解决方案,可以将
byte[]
保留在内存中而不将文件写入磁盘?我们可以将应用程序对象转换为byte[]保存文件的数组?