// filex 包示例:文件与目录工具(运行目录、路径存在性、Zip 打包解压) package main import ( "fmt" "os" "path/filepath" "git.zeroonesoft.cn/golib/zogo/filex" ) func main() { // 路径与目录 exists, _ := filex.PathExists(".") fmt.Println("当前目录存在:", exists) fmt.Println("工作目录:", filex.GetWorkDir()) fmt.Println("运行目录:", filex.GetRunDir()) // Zip 打包与解压(兼容 GBK 中文文件名) zipDemo() } func zipDemo() { dir, err := os.MkdirTemp("", "zogo-filex-*") if err != nil { fmt.Println("创建临时目录失败:", err) return } defer os.RemoveAll(dir) src := filepath.Join(dir, "aaa") if err := os.MkdirAll(src, 0755); err != nil { fmt.Println(err) return } if err := os.WriteFile(filepath.Join(src, "hello.txt"), []byte("hello zip"), 0644); err != nil { fmt.Println(err) return } zipPath := filepath.Join(dir, "aaa.zip") if err := filex.Zip(src, zipPath); err != nil { fmt.Println("Zip 失败:", err) return } dest := filepath.Join(dir, "out") if err := filex.Unzip(zipPath, dest); err != nil { fmt.Println("Unzip 失败:", err) return } data, err := os.ReadFile(filepath.Join(dest, "aaa", "hello.txt")) fmt.Println("解压读回内容:", string(data), "错误:", err) }