使用 Go,我正在编写一个小实用程序,部分需要注意打开文件的文件名是否更改。下面的代码说明了我尝试的方法:
package main
import "os"
import "fmt"
import "time"
func main() {
path := "data.txt"
file, _ := os.Open(path)
for {
details, _ := file.Stat()
fmt.Println(details.Name())
time.Sleep(5 * time.Second)
}
}
这只是开始一个无限循环,file.Stat()
每 5 秒运行一次以获取文件详细信息,然后打印出名称。但是,尽管在运行时更改了文件名,但上面的输出并没有改变。
但是,替换details.Name()
为details.Size()
确实会注意到文件大小的更改。
这只是我的 Go 版本中的一个错误,还是我做错了什么?我在任何地方都找不到提到这样的问题。
我在 Mac 上使用 Go 版本 1.1.1 (darwin/amd64) 运行它。
提前感谢您的任何回复:)