• go tar解压 当前目录


    func main() {
       unTarDir := "." //解压到当前目录
       tarFile, err := os.Open("demo.tar")
       if err != nil {
          log.Fatalln(err)
       }
       tr := tar.NewReader(tarFile)
       for {
          hdr, err := tr.Next()
          if err == io.EOF {
             break // End of archive
          }
          if err != nil {
             log.Fatalln(err)
          }
          if hdr.Typeflag == tar.TypeDir {
             // 创建解压目录
          } else if hdr.Typeflag == tar.TypeReg || hdr.Typeflag == tar.TypeGNUSparse {
             tarFile := path.Join(unTarDir, hdr.Name)
              file, err := os.OpenFile(tarFile, os.O_RDWR|os.O_CREATE|os.O_TRUNC, os.FileMode(hdr.Mode))
              if err != nil {
                 log.Fatalln(err)
              }
              err = file.Truncate(hdr.Size)
              if err != nil {
                 log.Fatalln(err)
              }
             _, err = io.Copy(file, tr)
             if err != nil {
                log.Fatalln(err)
             }
          }
       }
    }
  • 相关阅读:
    Java中关键字优先级
    HashMap
    Mabatis通用SQL语句
    下滑线转换为驼峰
    常见问题整理
    常见问题整理
    VUE学习笔记(二)
    VUE学习笔记(一)
    获取鼠标位置
    VirtualBox NAT模式,设置虚拟机可上网,宿主机可访问虚拟机的方法
  • 原文地址:https://www.cnblogs.com/cheyunhua/p/16735618.html
Copyright © 2020-2023  润新知