代码拉取完成,页面将自动刷新
package fileutils
import (
"github.com/sirupsen/logrus"
"os"
"path/filepath"
"strings"
)
type FindFileService struct {
dir string
excludeSuffix string
includeSuffix string
}
func NewFindFileService() *FindFileService {
return &FindFileService{
dir: FindRootDir(),
excludeSuffix: ".docx,.exe",
}
}
func (self *FindFileService) Dir() string {
return self.dir
}
func (self *FindFileService) SetDir(dir string) {
self.dir = dir
}
func (self *FindFileService) IncludeSuffix() string {
return self.includeSuffix
}
func (self *FindFileService) SetIncludeSuffix(includeSuffix string) {
self.includeSuffix = includeSuffix
}
func (self *FindFileService) ExcludeSuffix() string {
return self.excludeSuffix
}
func (self *FindFileService) SetExcludeSuffix(excludeSuffix string) {
self.excludeSuffix = excludeSuffix
}
func (self *FindFileService) FindFiles() ([]string, error) {
//var dirPath = fileutils.FindRootDirGoMod() + consts.Webcmd
var notIncludes = strings.Split(self.excludeSuffix, ",")
var includes = strings.Split(self.includeSuffix, ",")
var files = make([]string, 0)
// 指定需要遍历的目录
// 使用filepath.Walk遍历目录
err := filepath.Walk(self.dir, func(path string, info os.FileInfo, err error) error {
if err != nil {
logrus.Error(err)
return err
}
// 如果是文件,可以进行额外操作,比如读取文件内容
if !info.IsDir() {
for _, filter := range notIncludes {
if strings.HasSuffix(path, filter) {
return nil
}
}
for _, match := range includes {
if !strings.HasSuffix(path, match) {
return nil
}
}
files = append(files, path)
}
// 返回nil继续遍历
return nil
})
if err != nil {
logrus.Error("Error walking the path:", err)
}
return files, err
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。