我想压缩一些非常大的GML
文件(1-10GB)。我为此编写了一个方法,但效果不佳。如果我使用 Windows 的 7-zip (或其他)解压缩它,我得到的文件最终看起来很糟糕(它没有完成,XML 只是没有完成)......我不明白我在做什么错误的...
private void CompressFile()
{
string outputPath = Path.Combine(Path.ChangeExtension(_gmlPath, ".gz"));
var buffer = new byte[1024 * 64];
using (var compressing = new GZipStream(File.OpenWrite(outputPath), CompressionMode.Compress))
{
using (var file = File.OpenRead(_gmlPath))
{
var bytesRead = file.Read(buffer, 0, buffer.Length);
while (bytesRead != 0)
{
compressing.Write(buffer, 0, buffer.Length);
bytesRead = file.Read(buffer, 0, buffer.Length);
}
}
}
}
[编辑]
附加问题:如何指定/更改内部压缩的文件名GZ
?它的名称与输入的名称相同,但没有.gml
扩展名:S(输入中有)...