gpt4 book ai didi

c# - 在 C# 中合并大文件

转载 作者:太空宇宙 更新时间:2023-11-03 18:20:21 25 4
gpt4 key购买 nike

我有 7-8 个 xml 文件。每个文件的大小约为 50 MB。在 C# 中以编程方式合并文件而不会出现 System.OutOfMemory 异常的最佳方法是什么?到目前为止,我已经尝试读取 StringBuilder 中的每个文件,而不是将其放入字符串生成器数组中,但我仍然遇到 system.outofmemoery 异常。有帮助吗??谢谢你,-Nimesh

最佳答案

关于 stringbuilder 的事情是您仍然试图将全部内容保存在内存中。您希望一次只在内存中保留一小部分,这意味着使用文件流。不要将整个文件读入内存,打开一个流并继续从流中读取。

xml 的问题在于您不能将它们相互附加:您会破坏标记嵌套。因此,您需要了解有关 xml 文件结构的一些信息,以便了解在每个文件边界处执行的操作。

如果您有一些理论上可以与 StringBuilder 一起使用的东西,但由于内存限制在实践中只是失败了,您应该能够将 StringBuilder 的 .Append() 和 .AppendLine() 方法调用转换为 .Write() 和 . WriteLine() 调用文件流。

关于c# - 在 C# 中合并大文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/149233/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com