Files
EdgeNode/internal/utils/fs/os.go

69 lines
1.3 KiB
Go
Raw Normal View History

// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
package fsutils
2024-05-01 12:42:35 +08:00
import (
"os"
)
func Remove(filename string) (err error) {
WriterLimiter.Ack()
err = os.Remove(filename)
WriterLimiter.Release()
return
}
func Rename(oldPath string, newPath string) (err error) {
WriterLimiter.Ack()
err = os.Rename(oldPath, newPath)
WriterLimiter.Release()
return
}
func ReadFile(filename string) (data []byte, err error) {
ReaderLimiter.Ack()
data, err = os.ReadFile(filename)
ReaderLimiter.Release()
return
}
func WriteFile(filename string, data []byte, perm os.FileMode) (err error) {
WriterLimiter.Ack()
err = os.WriteFile(filename, data, perm)
WriterLimiter.Release()
return
}
2024-05-01 12:42:35 +08:00
func OpenFile(name string, flag int, perm os.FileMode) (f *os.File, err error) {
if flag&os.O_RDONLY == os.O_RDONLY {
ReaderLimiter.Ack()
}
f, err = os.OpenFile(name, flag, perm)
if flag&os.O_RDONLY == os.O_RDONLY {
ReaderLimiter.Release()
}
return
}
func Open(name string) (f *os.File, err error) {
ReaderLimiter.Ack()
f, err = os.Open(name)
ReaderLimiter.Release()
return
}
// ExistFile 检查文件是否存在
func ExistFile(path string) (bool, error) {
stat, err := os.Stat(path)
if err != nil {
if os.IsNotExist(err) {
return false, nil
}
return false, err
}
return !stat.IsDir(), nil
}