美文网首页
archive/tar

archive/tar

作者: stevenlife | 来源:发表于2018-12-28 18:49 被阅读0次
package main

import (
    "bytes"
    "archive/tar"
    "log"
    "io"
    "fmt"
    "os"
)

func main() {
    // 创建一个缓冲区来写入我们的存档。
    buf := new(bytes.Buffer)
    // 创建一个新的tar存档。
    tw := tar.NewWriter(buf)
    // 将一些文件添加到存档中。
    var files = []struct {
        Name, Body string
    }{{"readme.txt", "This archive contains some text files."},
        {"gopher.txt", "Gopher names:\nGeorge\nGeoffrey\nGonzo"},
        {"todo.txt", "Get animal handling license."},}
    for _, file := range files {
        hdr := &tar.Header{
            Name: file.Name,
            Mode: 0600,
            Size: int64(len(file.Body)),}
        if err := tw.WriteHeader(hdr); err != nil {
            log.Fatalln(err)
        }
        if _, err := tw.Write([]byte(file.Body)); err != nil {
            log.Fatalln(err)
        }
    } // 确保在Close时检查错误。
    if err := tw.Close(); err != nil {
        log.Fatalln(err)
    } // 打开tar档案以供阅读。
    r := bytes.NewReader(buf.Bytes())
    tr := tar.NewReader(r) // 迭代档案中的文件。
    for {
        hdr, err := tr.Next()
        if err == io.EOF { // tar归档结束break}
            if err != nil {
                log.Fatalln(err)
            }
            fmt.Printf("Contents of %s:\n", hdr.Name)
            if _, err := io.Copy(os.Stdout, tr); err != nil {
                log.Fatalln(err)
            }
            fmt.Println()
        }
    }
}

相关文章

  • archive/tar

  • tar 常用语法

    Tar(Tape ARchive,磁带归档的缩写) tar [OPTION]... (1) 创建归档 tar ...

  • 无标题文章

    1. tar 创建一个新的tar文件 $ tar cvf archive_name.tar dirname/ 解压...

  • Tar cheatsheet

    tar command Arguments: -c: Create a new archive containin...

  • tar 命令

    tar 命令介绍 tar tar是tape archive(磁带归档)的缩写,用来创建和提取档案文件。该命令是li...

  • Linux命令:tar

    tar 原单词 tar命令最初的设计目的是将文件备份到磁带上(tape archive),因而得名tar实物长这样...

  • iOS逆向常用命令

    1、解压缩tar命令 将文件或文件夹打包为 tar 文档的命令如下: tar -cvf archive_name....

  • shell 按日归档脚本

    !/bin/bash DATE=DATE.tar.gzCONFIG_FILE=/archive/files_to_...

  • tar: Error opening archive: Fail

    在用brew安装QT时遇到这样的报错

  • tar: Error opening archive: Fail

    HOMEBREW_BOTTLE_DOMAIN似乎不再被使用了, 转而改用HOMEBREW_ARTIFACT_DOM...

网友评论

      本文标题:archive/tar

      本文链接:https://www.haomeiwen.com/subject/sumelqtx.html