SerializeObject & StreamWriter created file not complete

Advertisements

here is my code :

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

it’s working fine but the json file is not complete it’s look like the StreamWriter stop before the end, this is the end of the file :

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

i dont understand why it’s stopping, i tried to define the buffersize for the StreamWriter but no effect.

>Solution :

This is a common sign of not flushing/closing the stream (it is quite common for streams to maintain some buffer for performance reasons). You can do something like:

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

But far more correct approach is to use using which will dispose the resource correctly:

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

Read more:

Leave a ReplyCancel reply