zoukankan      html  css  js  c++  java
  • http解压缩gzip

    
            static async Task Main(string[] args)
            {
                var files = Directory.GetFiles("C:\Users\admin\Desktop\新建文件夹");
    
                foreach (string file in files)
                {
                    var src = await File.ReadAllBytesAsync(file);
                    ReadOnlySequence asMemory = new ReadOnlySequence(src.AsMemory());
                    ReadSession(ref asMemory, out _);
                    bool isgZip = false;
                    await using MemoryStream ms = new MemoryStream(asMemory.ToArray());
                    try
                    {
                        GZipStream gZip=new GZipStream(ms,CompressionMode.Decompress);
                        await using MemoryStream destStream=new MemoryStream();
                        await gZip.CopyToAsync(destStream);
                        var destBytes = destStream.ToArray();
                        await File.WriteAllBytesAsync(file+"gzip1.txt",destBytes);
                        isgZip = true;
                    }
                    catch (Exception e)
                    {
                        
                    }
    
                    if (!isgZip)
                    {
                        await File.WriteAllBytesAsync(file + "gzip0.txt", asMemory.ToArray());
                    }
    
    
                }
            }
    
            public static bool ReadSession(ref ReadOnlySequence buffer,
                out ReadOnlySequence request)
            {
                ReadOnlySpan newSplit = new[] { (byte)'
    ', (byte)'
    ' , (byte)'
    ', (byte)'
    ' };
                var reader = new SequenceReader(buffer);
                if (reader.TryReadTo(out request, newSplit))
                {
                    buffer = buffer.Slice(reader.Position);
                    return true;
                }
                request = default;
                return false;
    
            }
    
  • 相关阅读:
    公有云数据库服务的申请与使用
    linux集群
    shell基础知识
    LNMP环境配置
    LAMP环境搭建与配置
    12月17日linux学习
    12月16日linux学习(文档的压缩与打包)
    12月13、14号linux学习
    12月12日linux学习
    目录结构
  • 原文地址:https://www.cnblogs.com/yzpopulation/p/13996049.html
Copyright © 2011-2022 走看看