在 golang 中,如果我有一个os.FileInfo,有没有办法在*os.File没有原始路径的情况下从它本身打开一个?假设我有这样的事情:package mainimport ( "os" "path/filepath" "strings")var files []os.FileInfofunc walker(path string, info os.FileInfo, err error) error { if strings.HasSuffix(info.Name(), ".txt") { files = append(files, info) } return nil}func main() { err := filepath.Walk("/tmp/foo", walker) if err != nil { println("Error", err) } else { for _, f := range files { println(f.Name()) // This is where we'd like to open the file } }}有没有办法转换FileInfo为* File?我实际使用的代码不是基于filepath.Walk; 但我确实得到了[]os.FileInfo一片。我仍然有根目录和文件名,但在这个阶段似乎任何进一步的子树信息都消失了。
3 回答
qq_遁去的一_1
TA贡献1725条经验 获得超7个赞
不,不能仅使用 FileInfo 打开文件。os.Open 只需要一个字符串。您应该始终拥有路径或父路径,因为这是获取 FileInfo 的唯一方法。
- 3 回答
- 0 关注
- 249 浏览
添加回答
举报
0/150
提交
取消