35 lines
504 B
Go
35 lines
504 B
Go
package nbt
|
|
|
|
import (
|
|
"compress/gzip"
|
|
"io"
|
|
"os"
|
|
)
|
|
|
|
func WriteFile(file io.Writer, n Tag) (err error) {
|
|
gzw := gzip.NewWriter(file)
|
|
defer gzw.Close()
|
|
err = n.Encode(gzw)
|
|
return
|
|
}
|
|
|
|
func ReadFile(file io.Reader) (n *Tag, err error) {
|
|
r, err := gzip.NewReader(file)
|
|
if err != nil {
|
|
return
|
|
}
|
|
defer r.Close()
|
|
n = &Tag{}
|
|
err = n.Decode(r)
|
|
return
|
|
}
|
|
|
|
func ReadFilePath(path string) (n *Tag, err error) {
|
|
f, err := os.Open(path)
|
|
if err != nil {
|
|
return
|
|
}
|
|
defer f.Close()
|
|
return ReadFile(f)
|
|
}
|