디스크에 추출하지 않고 tar 파일의 내용 읽기

王林
풀어 주다: 2024-02-09 22:27:21
앞으로
673명이 탐색했습니다.

读取 tar 文件的内容而不解压到磁盘

PHP 편집기 Strawberry는 오늘 매우 실용적인 기술을 소개합니다. 즉, 디스크에 압축을 풀지 않고 tar 파일의 내용을 읽는 것입니다. 개발 과정에서 tar 파일을 처리해야 하는 경우가 종종 있는데, 이를 디스크에 압축을 푼 후 읽는 데 많은 디스크 공간과 시간이 소요됩니다. PHP의 Archive_Tar 확장을 사용하면 tar 파일의 내용을 직접 읽을 수 있고 지루한 압축 해제 과정을 피하고 코드 효율성을 높일 수 있습니다. 다음으로 구체적인 단계에 대해 알아보겠습니다!

질문 내용

tar 파일의 파일을 반복할 수 있었지만 이러한 파일의 내용을 문자열로 읽는 방법을 생각해 본 적이 없습니다. 파일 내용을 문자열로 인쇄하는 방법을 알고 싶습니다.

이것은 내 코드입니다

package main

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

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

    archive, err := gzip.NewReader(file)

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

    for {
        hdr, err := tr.Next()
        if err == io.EOF {
            break
        }
        if err != nil {
            log.Fatal(err)
        }

        fmt.Printf("Contents of %s:\n", hdr.Name)
    }
}
로그인 후 복사

해결 방법

읽고 싶은 각 파일에 대해 tar.reader를 io.reader로 사용하세요.

으아아아

전체 파일이 문자열로 필요한 경우:

으아아아

한 줄씩 읽어야 한다면 다음이 더 좋습니다:

으아아아

위 내용은 디스크에 추출하지 않고 tar 파일의 내용 읽기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:stackoverflow.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!