golang使用fsnotify实现目录文件夹实时增删改监控代码

代码语言:golang

所属分类:其他

代码描述:golang使用fsnotify实现目录文件夹实时增删改监控代码

代码标签: golang fsnotify 目录 文件夹 实时 增删改 监控 代码

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

package main

import (
	"fmt"
	"log"
	"os"
	"path/filepath"

	"github.com/fsnotify/fsnotify"
)

func monitorDirectory(dirPath string) {
	watcher, err := fsnotify.NewWatcher()
	if err != nil {
		log.Fatal(err)
	}
	defer watcher.Close()

	err = filepath.Walk(dirPath, func(path string, info os.FileInfo, err error) error {
		if err != nil {
			return err
		}
		return watcher.Add(path)
	})
	if err != nil {
		log.Fatal(err)
	}

	fmt.Printf("Monitoring directory: %s\n", dirPath)

	for {
		select {
		case event, ok := <-watcher.Events:
			if !ok {
				return
			}
			handleEvent(event)
		case err, ok := <-watcher.Errors:
			if !ok {
				return
			}
			log.Println("Error:", err)
		}
	}
}

f.........完整代码请登录后点击上方下载按钮下载查看

网友评论0