gpt4 book ai didi

c# - 如何使用 SharpZipLib 在 C# 中创建超过 7 GB 的 zip 文件?

转载 作者:行者123 更新时间:2023-11-30 14:35:57 26 4
gpt4 key购买 nike

<分区>

我想用 C# 创建一个包含近 8 GB 数据的 zip 文件。我正在使用以下代码:

using (var zipStream = new ZipOutputStream(System.IO.File.Create(outPath)))
{
zipStream.SetLevel(9); // 0-9, 9 being the highest level of compression

var buffer = new byte[1024*1024];

foreach (var file in filenames)
{
var entry = new ZipEntry(Path.GetFileName(file)) { DateTime = DateTime.Now };

zipStream.PutNextEntry(entry);

var bufferSize = BufferedSize;
using (var fs = new BufferedStream(System.IO.File.OpenRead(file), bufferSize))
{
int sourceBytes;
do
{
sourceBytes = fs.Read(buffer, 0, buffer.Length);
zipStream.Write(buffer, 0, sourceBytes);
} while (sourceBytes > 0);
}
}

zipStream.Finish();
zipStream.Close();
}

此代码适用于 1 GB 以下的小文件,但当数据达到 7-8 GB 时会抛出异常。

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