gpt4 book ai didi

c# - 在写入文件之前压缩 XML

转载 作者:太空宇宙 更新时间:2023-11-03 13:42:04 27 4
gpt4 key购买 nike

我正在尝试将大量数据保存到 XML,但文件最终变得非常大。我已经搜索了压缩,但我发现的所有示例都是先写入文件,然后读取它以压缩到另一个文件,以大文件和压缩文件结尾,并且我最接近删除写入然后读取的中间步骤,结束使用包含无扩展名文件的 zip(我可以在记事本中将其作为 XML 打开)。

这是我现在拥有的:

XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
using (FileStream outFile = File.Create(@"File.zip"))
{
using (GZipStream Compress = new GZipStream(outFile, CompressionMode.Compress))
{
using (XmlWriter writer = XmlWriter.Create(Compress, settings))
{
//write the XML
}
}
}

如何使 zip 文件具有 XML 扩展名?

最佳答案

我觉得这可能是对基本原理的一点误解。据我所知,GZip 是一个压缩系统,但不是一个归档系统。在使用 UNIX 系统时,它们往往被视为两个独立的事物(而 ZIP 或 RAR 压缩则两者兼有)。归档将多个文件放在一个文件中,压缩使该文件更小。

您见过下载为“filename.tar.gz”的 Unix 软件包吗?这通常是命名格式 - 他们采用存档文件 (filename.tar) 并对其应用 GZip 压缩 (filename.tar.gz)

实际上,从技术上讲,您将文件命名为“.zip”(这是一种完全不同的、更常用的格式)会造成一些困惑。如果您想遵循 UNIX 传统,只需将您的文件命名为“file.xml.gz”。如果要存档,请使用 Tar 存档库。其他库(如 7-zip)可能具有更简单的压缩系统,可以为您完成这两项工作,例如,如果您希望此文件为 .zip,以便 Windows 计算机上的用户轻松阅读。

关于c# - 在写入文件之前压缩 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16657026/

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