golang读取网络字节并解压zip

简介: golang读取网络字节并解压zip

前言

有些情况我们是不需要写入磁盘,处理完直接释放。

代码

依赖文件

"archive/zip"
"bufio"
"bytes"
"fmt"
"io"
"io/ioutil"
"net/http"
"os"
  resp, _ := http.Get(url)

  data, err := ioutil.ReadAll(resp.Body)
  zipReader, _ := zip.NewReader(bytes.NewReader(data), int64(len(data)))

  if err != nil {
    return err
  }

  for _, f := range zipReader.File {
    s := f.Name
    fmt.Println(s)
  }

完整代码

在内存中处理

    zipReader, err := zip.NewReader(bytes.NewReader(data), int64(len(data)))
    if err != nil {
      logrus.Error(err)
      return false, err
    }

    for _, f := range zipReader.File {
      filename := f.Name
      inFile, err := f.Open() //这个是从压缩文件读取出来的
      if err != nil {
        logrus.Error(err)
        return false, err
      }
      defer inFile.Close()
      b, _ := ioutil.ReadAll(inFile)
      s := string(b)
      fmt.Println(s)
    }
目录
相关文章
|
6月前
|
Go
golang力扣leetcode 2039.网络空闲的时刻
golang力扣leetcode 2039.网络空闲的时刻
30 0
|
监控 网络协议 Go
Golang抓包:实现网络数据包捕获与分析
Golang抓包:实现网络数据包捕获与分析
|
6月前
|
存储 网络协议 Go
Golang网络聊天室案例
Golang网络聊天室案例
68 2
Golang网络聊天室案例
|
NoSQL 关系型数据库 MySQL
No.6 腾讯,阿里,字节,优科面经(下-网络,数据库篇)
No.6 腾讯,阿里,字节,优科面经(下-网络,数据库篇)
132 0
|
监控 架构师 网络协议
字节Java全能手册火了!多线程/网络/性能调优/框架啥都有
在这个技术不断更新的年代,跟不上时代变化的速度就会被刷掉,特别是咱们程序员这一群体,技术不断更新的同时也要同时进步,不然长江后浪推前浪,前浪...... 一个程序员从一个什么都不懂的小白在学到有一定的Java基础的时候肯定是要学习更多的技术充实自己,甚至还要往架构师方向靠。但是一个优秀的架构师必须要有扎实的编程功底和丰富的理论知识,不光要能完成架构设计,更要有能力将设计转换为实际的产品。不会写代码、纸上谈兵的“架构师”设计出来的“架构”是靠不住的。
|
Go
Golang 基础案例集合:中文拼音转换、解析二维码、压缩 zip、执行定时任务
曾经,因为不够注重基础吃了好多亏。总是很喜欢去看那些高大上的东西,却忽略了最基本的东西。然后会错误的以为自己懂的很多,但是其实是沙堆中筑高台,知道很多高大上的架构,但是基础的东西却不太了解。我觉得,可
257 0
|
安全 Java Go
Golang出现泛型后,Gin怎么封装网络请求处理
Go 1.18后出现泛型,小白怎么使用Gin框架怎么根据泛型封装客户端请求,
549 0
|
网络协议 前端开发 Go
Golang 网络编程(三)
Golang 网络编程(三)
291 0
|
网络协议 安全 Java
Golang 网络编程(二)
Golang 网络编程(二)
166 0
|
XML 存储 JSON
Golang 网络编程(一)
Golang 网络编程(一)
167 0