From ab469ebeaf598e57b748c563cee1df9954528318 Mon Sep 17 00:00:00 2001 From: Dnomd343 Date: Sat, 2 Sep 2023 11:02:50 +0800 Subject: [PATCH] feat: gzip decompress demo --- next/assets/demo.go | 80 +++++++++++++++++++++++++++++++++++++++++++++ next/main.go | 7 ++++ 2 files changed, 87 insertions(+) create mode 100644 next/assets/demo.go create mode 100644 next/main.go diff --git a/next/assets/demo.go b/next/assets/demo.go new file mode 100644 index 0000000..09fa00f --- /dev/null +++ b/next/assets/demo.go @@ -0,0 +1,80 @@ +package assets + +import ( + "compress/gzip" + "fmt" + "io" + "os" +) + +func gzipExtract(reader io.Reader) ([]byte, error) { + gzipReader, err := gzip.NewReader(reader) + if err != nil { + fmt.Println("gzip content error") + } + // + defer gzipReader.Close() + + //var buffer bytes.Buffer + //_, err = io.Copy() + var buffer []byte + buffer, err = io.ReadAll(gzipReader) + fmt.Println(len(buffer)) + + //fmt.Println(buffer) + //fmt.Println(string(buffer)) + + //gzipFile, err := os.Open("") + //if err != nil { + // return nil, nil + //} + //defer gzipFile.Close() + //gzipReader, err := gzip.NewReader(gzipFile) + //if err != nil { + // return nil, nil + //} + //defer gzipReader.Close() + //var buf bytes.Buffer + //_, err = io.Copy(&buf, gzipReader) + //if err != nil { + // return nil, err + //} + //return buf.Bytes(), nil + + return nil, nil +} + +func Demo() { + fmt.Println("assets demo") + + path := "/root/XProxy/LICENSE.gz" + + fp, err := os.Open(path) + if err != nil { + fmt.Println("open failed") + } + defer fp.Close() + + //gzipDemo(fp) + + //fmt.Printf("name -> %s\n", fp.Name()) + + //var buffer []byte + //n, err := fp.Read(buffer) + //fmt.Println(n) + //fmt.Println(err) + //buffer, err := io.ReadAll(fp) + + //buffer, err := os.ReadFile(path) + //if err != nil { + // fmt.Printf("error -> %s\n", err) + //} + //fmt.Printf("buffer size -> %d\n", len(buffer)) + //fmt.Printf("buffer -> %b\n", buffer) + + //gzipExtract(buffer) + gzipExtract(fp) + + //fp.Name() + +} diff --git a/next/main.go b/next/main.go new file mode 100644 index 0000000..bb618ee --- /dev/null +++ b/next/main.go @@ -0,0 +1,7 @@ +package main + +import "XProxy/next/assets" + +func main() { + assets.Demo() +}