ioutil.ReadDir+os.Rename组合带来的问题

new_golang · · 1236 次点击
jan-bar
想要拥有,必定付出。
```go 虽然在我的电脑上试了上述程序没问题,大概因为我没有用C盘吧。 不过我还是怀疑files, err := ioutil.ReadDir(source)占用着文件导致rename失败,因为源文件被占用了啊 所以我猜你用下面的方法得到文件名列表就行,因为在下面函数的files是局部变量,返回后就释放占用 你可以试试,我也只是猜测而已。 func readFiles(source string) ([]string, error) { files, err := ioutil.ReadDir(source) if err != nil { return nil, err } fName := make([]string, 0, len(files)) for _, f := range files { fName = append(fName, f.Name()) } return fName, nil } ```
#6
更多评论
检查程序的运行权限问题
#1
没有,因为单独执行这个语句是成功的.并且循环了3-4次的执行结果也是成功的,就是没完成之后的循环就退出了程序.
#2