110,571
社区成员
发帖
与我相关
我的任务
分享
public class GZipHelper
{
public static byte[] Compress(byte[] data)
{
using (MemoryStream ms = new MemoryStream())
{
var stream = new GZipStream(ms, CompressionMode.Compress, true);
stream.Write(data, 0, data.Length);
stream.Close();
return ms.ToArray();
}
}
public static byte[] Decompress(byte[] data)
{
using (MemoryStream ms = new MemoryStream(data))
{
using (Stream inStream = new GZipStream(ms,CompressionMode.Decompress))
using (MemoryStream outStream = new MemoryStream())
{
byte[] buffer = new byte[4096];
int size = inStream.Read(buffer, 0, (int)buffer.Length);
while (size > 0)
{
outStream.Write(buffer, 0, size);
size = inStream.Read(buffer, 0, (int)buffer.Length);
}
//outStream.Write(buffer, outStream, buffer);
return outStream.ToArray();
}
}
}
}
var filePath = "20190610_173253.csv.zip";
using (Stream stream = File.OpenRead(filePath))
{
var reader = ReaderFactory.Open(stream);
ArchiveType type = reader.ArchiveType;
while (reader.MoveToNextEntry())
{
if (!reader.Entry.IsDirectory)
{
Console.WriteLine(reader.Entry.CompressionType);
}
}
}
var bytes = GZipHelper.Decompress(File.ReadAllBytes(filePath));
File.WriteAllBytes("ddd.csv", bytes);
public class GZipHelper
{
public static byte[] Compress(byte[] data)
{
using (MemoryStream ms = new MemoryStream())
{
var stream = new GZipStream(ms, CompressionMode.Compress, true);
stream.Write(data, 0, data.Length);
stream.Close();
return ms.ToArray();
}
}
public static byte[] Decompress(byte[] data)
{
using (MemoryStream ms = new MemoryStream(data))
{
using (Stream inStream = new GZipInputStream(ms))
using (MemoryStream outStream = new MemoryStream())
{
byte[] buffer = new byte[4096];
StreamUtils.Copy(inStream, outStream, buffer);
return outStream.ToArray();
}
}
}
}