golang fsnotify使用

Go 复制代码
package main

import (
	"log"

	"github.com/fsnotify/fsnotify"
)

func main() {
	// Create new watcher.
	watcher, err := fsnotify.NewWatcher()
	if err != nil {
		log.Fatal(err)
	}
	defer watcher.Close()

	// Start listening for events.
	go func() {
		for {
			select {
			case event, ok := <-watcher.Events:
				if !ok {
					return
				}
				log.Println("event:", event)
				if event.Op == fsnotify.Write {
					log.Println("modified file:", event.Name)
				}
			case err, ok := <-watcher.Errors:
				if !ok {
					return
				}
				log.Println("error:", err)
			}
		}
	}()

	// Add a path.
	err = watcher.Add("/Users/cobainzheng/tmp")
	if err != nil {
		log.Fatal(err)
	}

	// Block main goroutine forever.
	<-make(chan struct{})
}
相关推荐
NG WING YIN17 分钟前
Golang關於信件的
开发语言·深度学习·golang
Sunny_yiyi22 分钟前
Java根据模版导出PDF文件
java·开发语言·pdf
绝无仅有24 分钟前
前端开发环境搭建:从安装 Node 到成功运行代码
后端·面试·github
橘子1326 分钟前
C++实战:搜索引擎项目(二)
开发语言·c++·搜索引擎
yshhuang39 分钟前
在Windows上搭建开发环境
前端·后端
绝无仅有41 分钟前
某个互联网大厂的Elasticsearch基础面试题与答案
后端·面试·github
无责任此方_修行中44 分钟前
AWS IoT Core 成本优化实战:从 PoC 到生产的省钱之旅
后端·架构·aws
ITMan彪叔1 小时前
Java MQTT 主流开发方案对比
java·后端
Cache技术分享1 小时前
188. Java 异常 - Java 异常处理规范
前端·后端