我想将大的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