解凍せずに 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 サイトの他の関連記事を参照してください。