afero-demo/main.go

46 lines
829 B
Go

package main
import (
"fmt"
"github.com/spf13/afero"
)
func main() {
//基于内存的文件读写
fs := afero.NewMemMapFs()
afero.WriteFile(fs, "poem.txt", []byte("月光光,照大床"), 0644)
data, err := afero.ReadFile(fs, "poem.txt")
if err != nil {
panic(err)
}
fmt.Println(string(data))
//真实文件系统
fs = afero.NewOsFs()
afero.WriteFile(fs, "poem.txt", []byte("月光光,照大床(文件系统)"), 0644)
data, err = afero.ReadFile(fs, "poem.txt")
if err != nil {
panic(err)
}
fmt.Println(string(data))
//拷贝文件
err = afero.WriteFile(fs, "poem_copy.txt", data, 0644)
if err != nil {
panic(err)
}
//限定根目录
bfs := afero.NewBasePathFs(afero.NewOsFs(), "/home/yy/project")
if _, err := bfs.Open("/etc/passwd"); err != nil {
fmt.Println(err.Error())
}
}