ホームページ >バックエンド開発 >Golang >Tar ファイルの内容を解凍せずに読み取るにはどうすればよいですか?

Tar ファイルの内容を解凍せずに読み取るにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-30 15:37:11957ブラウズ

How Can I Read the Contents of a Tar File Without Decompression?

解凍せずに tar ファイルの内容を読み取る

tar ファイルの内容をディスクに抽出せずに読み取るには、 tar.Reader を個々のファイルの io.Reader として使用します。実装方法は次のとおりです:

package main

import (
    "archive/tar"
    "fmt"
    "io"
    "io/ioutil"
    "log"
    "os"
    "bufio"
)

func main() {
    file, err := os.Open("testtar.tar.gz")

    if err != nil {
        fmt.Println("There is a problem with os.Open")
    }

    tr := tar.NewReader(file)

    // Get the next file entry
    h, _ := tr.Next()

    // Read the complete content of the file into a byte slice
    bs, _ := ioutil.ReadAll(tr)

    // Convert the byte slice to a string
    contents := string(bs)

    fmt.Printf("Contents of %s:\n%s", h.Name, contents)
}

ファイルの内容に 1 行ずつアクセスする必要がある場合:

s := bufio.NewScanner(tr)

// Line reading loop
for s.Scan() {
    l := s.Text()

    // Perform operations on the line
}

if err := s.Err(); err != nil {
    // Handle error
}

以上がTar ファイルの内容を解凍せずに読み取るにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。