以下是我的代码:

string json = JsonConvert.SerializeObject(stocksArticles,Formatting.Indented);
StreamWriter sw = new StreamWriter("Export\\Stocks.json");
sw.Write(json);

它工作正常,但json文件不完整它看起来像StreamWriter在结束之前停止,这是文件的末尾:

{ "Reference": "999840", "Stocks": { "S": 0.0 } }, { "

我不明白为什么它停止了,我试图定义StreamWriter的缓冲区大小,但没有效果.

推荐答案

这是不刷新/关闭流的常见标志(出于性能原因,流维护一些缓冲区是很常见的).您可以执行以下操作:

StreamWriter sw = new StreamWriter("Export\\Stocks.json");
sw.Write(json);
sw.Close();

但更正确的方法是使用using,这将正确地处理资源:

using (StreamWriter sw = new StreamWriter("Export\\Stocks.json"))
{
    sw.Write(json);
}

阅读更多内容:

Csharp相关问答推荐

在实时数据库中匹配两个玩家的问题

为什么SignalR在每个Blazor服务器应用程序启动时最多启动8个服务器?

使用带有WithAppOnly()请求选项的pageIterator

使用可信第三方的Iext8.Net pdf签名

Cosmos SDK和Newtonsoft对静态只读记录的可能Mutations

如何注册类使用多级继承与接口

当索引和外键是不同的数据类型时,如何设置导航属性?

在IAsyncEnumerable上先调用,然后跳过(1)可以吗?

Savagger使用Fastendpoint更改用户界面参数

带有可选参数的模拟方法返回意外的不同值,具体取决于可选的默认值

如何更改新创建的实例的变量?

实体框架-IsRequired()与OnDelete()

这是否比决定是否使用ConfigureAWait(False)更好?

在.NET8中如何反序列化为私有字段?

Visual Studio如何使用当前的框架?

正在try 将自定义字体添加到我的控制台应用程序

HttpClient,上传文件时实现进度

能否将我图表中的星号与X轴上一天中的第二位数字对齐?

XmlSerializer在遇到XML属性(命名空间)时崩溃

部署Aspnet Blazor服务器时出现未处理的Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware[1]异常