我有以下代码,但它只是创建一个0KB的空文件。
using (var stream1 = new MemoryStream()) { MemoryStream txtStream = new MemoryStream(); Document document = new Document(); fileInformation.Stream.CopyTo(stream1); document.LoadFromStream(stream1, FileFormat.Auto); document.SaveToStream(txtStream, FileFormat.Txt); StreamReader reader = new StreamReader(txtStream); string text = reader.ReadToEnd(); System.IO.File.WriteAllText(fileName + ".txt", text); }
我知道数据已成功加载到 document 因为如果是的话 document.SaveToTxt("test.txt", Encoding.UTF8); 而不是 SaveToStream 行正确导出文件。
document
document.SaveToTxt("test.txt", Encoding.UTF8);
SaveToStream
我做错什么了?
复制流时,如果复制,则需要注意将位置重置为0。从答案中可以看出 here ,您可以对流执行以下操作:
stream1.Position = 0; txtStream.Position = 0;