Maison >développement back-end >Golang >Comment puis-je lire le contenu d'un fichier Tar sans décompression ?

Comment puis-je lire le contenu d'un fichier Tar sans décompression ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-30 15:37:11958parcourir

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

Lecture du contenu d'un fichier Tar sans décompression

Afin de lire le contenu d'un fichier tar sans l'extraire sur le disque, il faut utiliser le tar.Reader en tant que io.Reader pour les fichiers individuels. Voici comment cela peut être mis en œuvre :

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)
}

Alternativement, si vous avez besoin d'un accès ligne par ligne au contenu du fichier :

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
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn