在golang中,如果我有一个os.FileInfo,有没有办法在*os.File没有原始路径的情况下自己打开它?
假设我有这样的事情:
package main
import (
"os"
"path/filepath"
"strings"
)
var files []os.FileInfo
func 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
}
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法转换FileInfo成* File?我实际使用的代码不是基于filepath.Walk; 但我确实得到了[]os.FileInfo回报.我仍然有根目录和文件名,但似乎任何进一步的子树信息都已经过了这个阶段.
Dir*_*irk 11
作为附加信息,这是如何构造包括路径的文件名字符串:
filename := filepath.Join(path, info.Name())
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11290 次 |
| 最近记录: |