如何获取一个文件的绝对路径

已解决: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}
阅读 22.8k
1 个回答

import "path/filepath" ,其中的Abs方法

filepath.Abs(filepath.Dir(file.Name()))
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题