我收到消息“流不可读”的声明:流未读取错误
using (StreamReader sr = new StreamReader(ms))
我已经试过张贴在这里没有成功的秘诀。谢谢您的帮助。
这是我的代码:
XmlSerializer xmlSerializer = new XmlSerializer(typeof(Conflict));
//Serialize Conflicts array to memorystream as XML
using (MemoryStream ms = new MemoryStream())
{
using (StreamWriter sw = new StreamWriter(ms))
{
foreach (Conflict ct in Conflicts)
xmlSerializer.Serialize(sw, ct);
sw.Flush(); //Site tip
ms.Position = 0; //Site tip
}
//Retrieve memory stream to string
using (StreamReader sr = new StreamReader(ms))
{
string conflictXml = String.Format(CultureInfo.InvariantCulture, "{0}</NewDataSet>",
格式化代码会更容易跟踪和帮助调试 – BrMcMullin 2011-03-22 20:36:32
的StreamWriter和StreamReader的配置的时候都关闭底层流,因此,当你在试图从被关闭的流中读取时处理StreamWriter,流不再开放阅读或写作。不幸的是,我现在不在我的电脑上,但本网站上的其他答案都有用于封装基础流的类,以防止它被关闭。 – 2011-03-22 20:37:50
可以发现一个包装类链接到从我以前的答案:http://stackoverflow.com/questions/5261123/why-is-my-filestream-object-being-disposed-of-when-im-using- a-binaryreader-obj/5261202#5261202 – 2011-03-22 20:41:28