<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                [TOC] ## tar ## 壓縮 tar.gz ``` src:="parse" dst:=fmt.Sprintf("%s.tar.gz",src) dstFile, err := os.Create(dst) if err != nil { log.Fatal(err) } defer dstFile.Close() gzipWrite := gzip.NewWriter(dstFile) defer gzipWrite.Close() handle := tar.NewWriter(gzipWrite) defer handle.Close() err = filepath.Walk("parser", func(path string, info os.FileInfo, err error) error { if err != nil { return err } header, err := tar.FileInfoHeader(info, path) if err != nil { return err } // 保留層級關系 header.Name=strings.TrimPrefix(path,string(filepath.Separator)) if err = handle.WriteHeader(header);err != nil { return err } if !info.Mode().IsRegular() { return nil } openFile, err := os.Open(path) if err != nil { return err } _, err = io.Copy(handle, openFile) if err != nil { return err } return nil }) ``` ## 解壓 tar.gz ``` dstDir := "./" tarFile, err := os.Open("parse.tar.gz") if err != nil { log.Fatal(err) } defer tarFile.Close() gzipReader, err := gzip.NewReader(tarFile) if err != nil { log.Fatal(err) } tarReader := tar.NewReader(gzipReader) for { head, err := tarReader.Next() if err != nil { if errors.Is(err, io.EOF) { os.Exit(0) } else { log.Fatal(err) os.Exit(1) } } dstFileDir := filepath.Join(dstDir, head.Name) switch head.Typeflag { case tar.TypeDir: if err := os.MkdirAll(dstFileDir, 0755); err != nil { log.Fatal(err) } case tar.TypeReg: openFile, err := os.Create(dstFileDir) if err != nil { log.Fatal(err) } _, err = io.Copy(openFile, tarReader) if err != nil { log.Fatal(err) } openFile.Close() } } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看