C# UWP appdata中Json序列化存储文件的最大大小

C# UWP appdata中Json序列化存储文件的最大大小,c#,json,uwp,storagefile,C#,Json,Uwp,Storagefile,我正在尝试使用Json将文件保存到UWP应用程序中的本地appdata。 代码在文件夹中创建一个文件,然后使用Json将数据对象写入其中。以下是我使用的代码: StorageFile file = await localstorage.CreateFileAsync("filename.json", CreationCollisionOption.ReplaceExisting) var filestream = await file.OpenStreamForWriteAsync();

我正在尝试使用Json将文件保存到UWP应用程序中的本地appdata。 代码在文件夹中创建一个文件,然后使用Json将数据对象写入其中。以下是我使用的代码:

StorageFile file = await localstorage.CreateFileAsync("filename.json", CreationCollisionOption.ReplaceExisting)    
var filestream = await file.OpenStreamForWriteAsync();
var writer = new StreamWriter(filestream);
var jsonwriter = new JsonTextWriter(writer);
var serializer = new JsonSerializer();
serializer.TypeNameHandling = TypeNameHandling.All;
serializer.Serialize(jsonwriter, DataObject);

立即生效,文件似乎保存成功,但是手动打开文件显示它正好是16KB,并在对象中间停止。

我找不到任何关于这些对象(流、存储文件、Json序列化程序等)的大小限制的提及


有人能解释为什么序列化停止在16KB吗?

使用Romasz建议的
使用
语句,从而处理文件流、编写器等,似乎解决了我的问题

新代码:

StorageFile file = await createFile("filename.json");
using (JsonTextWriter jsonwriter =new JsonTextWriter(new StreamWriter(await file.OpenStreamForWriteAsync())))
{
    var serializer = new JsonSerializer();
    serializer.TypeNameHandling = TypeNameHandling.All;
    serializer.Serialize(jsonwriter, DataObject);
}

谢谢您的回答。

writer.Flush()出现在我的脑海中,但我现在不太确定。请尝试处理filestream、writer等。最佳使用
使用
语句。这似乎已经解决了它。谢谢