dit*_*lav 2 c# stream streamwriter jsonserializer json.net
所以我还没有编写我现在正在处理的代码,我正在寻找如何最好地处理这个问题。
现在我有这个。
public static void WriteSymbol(Stream stream, Symbol symbol)
{
using (var streamWriter = new StreamWriter(stream))
{
JsonSerializer.Create(SerializerSettings).Serialize(streamWriter, symbol);
}
}
Run Code Online (Sandbox Code Playgroud)
在我的测试中完成此操作后,我希望能够读取流的内容,以便我可以检查集成。问题是现在在 Serialize 流关闭后我无法再读取它。
我看到了 JsonWriter,public bool CloseOutput { get; set; }但我没有看到这个静态 JsonSerializer 的内容。
解决这个问题的最佳方法是什么?如何防止序列化程序关闭流?有什么方法可以检查流的内容吗?
从.NET 4.5向上可以使用LeaveOpen的构造函数参数StreamWriter。
使用的默认缓冲区大小StreamWriter为 1024,在反编译类型时可见。
因此,您可以执行以下操作。
using (var streamWriter = new StreamWriter(stream, Encoding.UTF8, 1024, true))
{
// TODO: do something
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
756 次 |
| 最近记录: |