46 lines
829 B
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())
|
|
}
|
|
}
|