5 c# compression bytearray gzipstream
我已经阅读了一会儿GZipStream及其Write方法.我试图做的是从流中转换压缩数据并将其放在一个字节数组中.我将在下面留下我的代码,因为我相信它会有很大帮助.
public static void Compress(byte[] fi)
{
using (MemoryStream inFile = new MemoryStream(fi))
using (FileStream outFile = File.Create(@"C:\Compressed.exe"))
using (GZipStream Compress = new GZipStream(outFile, CompressionMode.Compress))
{
inFile.CopyTo(Compress);
}
}
Run Code Online (Sandbox Code Playgroud)
我想将压缩数据写入字节数组,而不是写入磁盘上的文件,然后返回字节数组(假设我当然是这个函数).
您可以简单地使用另一个MemoryStream及其ToArray方法.
public static byte[] Compress(byte[] fi)
{
using (MemoryStream outFile = new MemoryStream())
{
using (MemoryStream inFile = new MemoryStream(fi))
using (GZipStream Compress = new GZipStream(outFile, CompressionMode.Compress))
{
inFile.CopyTo(Compress);
}
return outFile.ToArray();
}
}
Run Code Online (Sandbox Code Playgroud)