我想將大的UInt16數組保存到文件中。 positionCnt大約是50000,stationCnt大約是2500.直接保存,沒有GZipStream,文件大小約爲250MB,可以通過外部zip程序壓縮到19MB。使用下面的代碼文件是507MB。我做錯了什麼?GZipStream效果
GZipStream cmp = new GZipStream(File.Open(cacheFileName, FileMode.Create), CompressionMode.Compress);
BinaryWriter fs = new BinaryWriter(cmp);
fs.Write((Int32)(positionCnt * stationCnt));
for (int p = 0; p < positionCnt; p++)
{
for (int s = 0; s < stationCnt; s++)
{
fs.Write(BoundData[p, s]);
}
}
fs.Close();
是什麼樣子,如果你將其壓縮*使用gzip *外部? –
外部gzip給出大約19.5 MB; bzip2小於8MB – danatel