Ver código fonte

ft: 替换函数修复

master
SisMaker 3 anos atrás
pai
commit
d5aeffd9a4
3 arquivos alterados com 51 adições e 4 exclusões
  1. BIN
      fileSync.exe
  2. +48
    -3
      fileSync.go
  3. +3
    -1
      go.mod

BIN
fileSync.exe Ver arquivo


+ 48
- 3
fileSync.go Ver arquivo

@ -3,12 +3,14 @@ package main
import (
"bytes"
"encoding/binary"
"github.com/fsnotify/fsnotify"
"io"
"io/fs"
"os"
"path/filepath"
"strings"
"time"
"github.com/fsnotify/fsnotify"
)
const (
@ -43,6 +45,39 @@ type Watch struct {
watch *fsnotify.Watcher
}
const (
//LOGPATH LOGPATH/time.Now().Format(FORMAT)/*.log
LOGPATH = "./"
//FORMAT .
FORMAT = "20060102"
//LineFeed 换行
LineFeed = "\r\n"
FileName = "fileSync.log"
)
//以天为基准,存日志
var path = LOGPATH + time.Now().Format(FORMAT) + "_"
//WriteLog return error
func WriteLog(msg string) error {
var (
err error
f *os.File
)
f, err = os.OpenFile(path+FileName, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
_, err = io.WriteString(f, "Tag"+"::"+msg+LineFeed)
defer f.Close()
return err
}
//IsExist 判断文件夹/文件是否存在 存在返回 true
func IsExist(f string) bool {
_, err := os.Stat(f)
return err == nil || os.IsExist(err)
}
// 收集更改了的文件
func CollectFile(File string) {
ext := filepath.Ext(File)
@ -110,8 +145,9 @@ func existPath(path string) bool {
//监控目录
func (w *Watch) watchDir(dir string) {
//通过Walk来遍历目录下的所有子目录
filepath.Walk(dir, func(path string, info os.FileInfo, err error) error {
filepath.WalkDir(dir, func(path string, info fs.DirEntry, err error) error {
//这里判断是否为目录,只需监控目录即可 目录下的文件也在监控范围内,不需要我们一个一个加
if err == nil && info.IsDir() {
path, err := filepath.Abs(path)
if err != nil {
@ -129,7 +165,7 @@ func (w *Watch) watchDir(dir string) {
for _, v := range AddDirs {
if v != "" && existPath(v) {
//通过Walk来遍历目录下的所有子目录
filepath.Walk(v, func(path string, info os.FileInfo, err error) error {
filepath.WalkDir(v, func(path string, info fs.DirEntry, err error) error {
//这里判断是否为目录,只需监控目录即可 目录下的文件也在监控范围内,不需要我们一个一个加
if err == nil && info.IsDir() {
path, err := filepath.Abs(path)
@ -148,6 +184,15 @@ func (w *Watch) watchDir(dir string) {
}
}
//for _, v := range AddDirs {
// if v != "" && existPath(v) {
// path, err := filepath.Abs(path)
// if err != nil && !isHidden(path) {
// w.watch.Add(path)
// }
// }
//}
// 启动文件监听goroutine
go func() {
for {

+ 3
- 1
go.mod Ver arquivo

@ -1,5 +1,7 @@
module fileSync
go 1.15
go 1.17
require github.com/fsnotify/fsnotify v1.5.1
require golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c // indirect

Carregando…
Cancelar
Salvar