已解决:File.Name是路径信息,FileInfo.Name是文件名,不要被名字迷惑了
如何获取一个文件的绝对路径?我看File和FileInfo里面都没有相关的属性。
比如我把*os.File当作参数传出去了,如何拿到绝对路径
file, _ := os.Open("config.yml")
// path:d:\GoDev\src\test\config.yml 可以打印,但是取不到
info, _ := os.Stat("config.yml")
// path: vol:3330745337 和上面的又不一样了
info2, _ := file.Stat()
fmt.Printf("%+v\n", file)
fmt.Printf("%+v\n", info)
fmt.Printf("%+v\n", info2)
&{file:0xc04206c780}
&{name:config.yml sys:{FileAttributes:32 CreationTime:{LowDateTime:746054434 HighDateTime:30682930} LastAccessTime:{LowDateTime:746052720 HighDateTime:30682930} LastWriteTime:{LowDateTime:2328162096 HighDateTime:30683074} FileSizeHigh:0 FileSizeLow:5} filetype:0 Mutex:{state:0 sema:0} path:d:\GoDev\src\test\config.yml
vol:0 idxhi:0 idxlo:0 appendNameToPath:false}
&{name:config.yml sys:{FileAttributes:32 CreationTime:{LowDateTime:746054434 HighDateTime:30682930} LastAccessTime:{LowDateTime:746052720 HighDateTime:30682930} LastWriteTime:{LowDateTime:2328162096 HighDateTime:30683074} FileSizeHigh:0 FileSizeLow:5} filetype:1 Mutex:{state:0 sema:0} path: vol:3330745337 idxhi:1048576 idxlo:39063 appendNameToPath:false}
import "path/filepath"
,其中的Abs方法