我在VC++中用fopen()打开了很多文件,但过了一段时间它就失败了.
您可以同时打开的文件数量是否有限制?
我正在尝试将给定数组的非常大的 JSON 文件拆分为较小的文件。例如:
{
"headerName1": "headerVal1",
"headerName2": "headerVal2",
"headerName3": [{
"element1Name1": "element1Value1"
},
{
"element2Name1": "element2Value1"
},
{
"element3Name1": "element3Value1"
},
{
"element4Name1": "element4Value1"
},
{
"element5Name1": "element5Value1"
},
{
"element6Name1": "element6Value1"
}]
}
Run Code Online (Sandbox Code Playgroud)
...向下到 { "elementNName1": "elementNValue1" } 其中 N 是一个很大的数字
用户提供代表要拆分的数组的名称(在本例中为“headerName3”)以及每个文件的数组对象数量,例如 1,000,000
这将导致 N 个文件,每个文件中包含顶级名称:值对 (headerName1, headerName3) 以及最多 1,000,000 个 headerName3 对象。
我正在使用优秀的 Newtonsof JSON.net 并了解我需要使用流来完成此操作。
到目前为止,我已经查看了 JToken 对象中的读取,以确定读取令牌时 PropertyName == "headerName3" 发生的位置,但我想做的是读取数组中每个对象的整个 JSON 对象,而不是读取继续将 JSON 解析为 JToken;
这是我迄今为止正在构建的代码片段:
using (StreamReader oSR = File.OpenText(strInput))
{
using (var reader …Run Code Online (Sandbox Code Playgroud)