Tag: gzipstream

如何从包含多个GzipStream的文件中读取

我有一个用代码创建的文件,如下所示: using (var fs=File.OpenWrite(“tmp”)) { using (GZipStream gs=new GZipStream(fs,CompressionMode.Compress,true)) { using (StreamWriter sw=new StreamWriter(gs)) { sw.WriteLine(“hello “); } } using (GZipStream gs = new GZipStream(fs, CompressionMode.Compress, true)) { using (StreamWriter sw = new StreamWriter(gs)) { sw.WriteLine(“world”); } } } 现在我正在尝试使用以下代码从此文件中读取数据: string txt; using (var fs=File.OpenRead(“tmp”)) { using (GZipStream gs=new GZipStream(fs,CompressionMode.Decompress,true)) { using (var rdr = […]

GZipStream压缩问题(丢失字节)

我对GZip Serializer有一些奇怪的问题。 尝试使用数据序列化对象。 以下代码给出结果( 在调试中的POINT1 ):ms.Length = 100028和uncompressedStream.Length = 100027 POINT1之后有exception“解析完成之前遇到的流结束。”,我认为是这个丢失字节的结果。 我正在使用.net 4.0。 //generating data int length = 100000; byte[] data = new byte[length]; for (int i = 0; i < length; i++) { data[i] = System.Convert.ToByte(i % 100 + i % 50); } //serialization into memory stream IFormatter formatter = new BinaryFormatter(); var ms […]

GZipStream和解压缩

我有应该进行压缩的代码: FileStream fs = new FileStream(“g:\\gj.txt”, FileMode.Open); FileStream fd = new FileStream(“g:\\gj.zip”, FileMode.Create); GZipStream csStream = new GZipStream(fd, CompressionMode.Compress); byte[] compressedBuffer = new byte[500]; int offset = 0; int nRead; nRead = fs.Read(compressedBuffer, offset, compressedBuffer.Length); while (nRead > 0) { csStream.Write(compressedBuffer, offset, nRead); offset = offset + nRead; nRead = fs.Read(compressedBuffer, offset, compressedBuffer.Length); } fd.Close(); […]