Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Membaca Kandungan Fail Tar Tanpa Penyahmampatan?

Bagaimanakah Saya Boleh Membaca Kandungan Fail Tar Tanpa Penyahmampatan?

Linda Hamilton
Linda Hamiltonasal
2024-11-30 15:37:11958semak imbas

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

Membaca Kandungan Fail Tar Tanpa Penyahmampatan

Untuk membaca kandungan fail tar tanpa mengekstraknya ke cakera, seseorang mesti menggunakan tar.Reader sebagai io.Reader untuk fail individu. Begini cara ia boleh dilaksanakan:

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

Sebagai alternatif, jika anda memerlukan akses baris demi baris kepada kandungan fail:

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
}

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membaca Kandungan Fail Tar Tanpa Penyahmampatan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn