Documentation ¶
Overview ¶
Package fileutil implements utility functions related to files and paths.
Index ¶
- Constants
- Variables
- func CheckDirPermission(dir string, perm os.FileMode) error
- func CreateDirAll(lg *zap.Logger, dir string) error
- func DirEmpty(name string) bool
- func Exist(name string) bool
- func Fdatasync(f *os.File) error
- func Fsync(f *os.File) error
- func IsDirWriteable(dir string) error
- func OpenDir(path string) (*os.File, error)
- func Preallocate(f *os.File, sizeInBytes int64, extendFile bool) error
- func PurgeFile(lg *zap.Logger, dirname string, suffix string, max uint, ...) <-chan error
- func PurgeFileWithDoneNotify(lg *zap.Logger, dirname string, suffix string, max uint, ...) (<-chan struct{}, <-chan error)
- func PurgeFileWithoutFlock(lg *zap.Logger, dirname string, suffix string, max uint, ...) (<-chan struct{}, <-chan error)
- func ReadDir(d string, opts ...ReadDirOption) ([]string, error)
- func RemoveMatchFile(lg *zap.Logger, dir string, matchFunc func(fileName string) bool) error
- func TouchDirAll(lg *zap.Logger, dir string) error
- func ZeroToEnd(f *os.File) error
- type FileBufReader
- type FileReader
- type LockedFile
- type ReadDirOp
- type ReadDirOption
Constants ¶
const (
// PrivateDirMode grants owner to make/remove files inside the directory.
PrivateDirMode = 0700
)
const (
// PrivateFileMode grants owner to read/write a file.
PrivateFileMode = 0600
)
Variables ¶
var (
ErrLocked = errors.New("fileutil: file already locked")
)
Functions ¶
func CheckDirPermission ¶
CheckDirPermission checks permission on an existing dir. Returns error if dir is empty or exist with a different permission than specified.
func CreateDirAll ¶
CreateDirAll is similar to TouchDirAll but returns error if the deepest directory was not empty.
func Fdatasync ¶
Fdatasync is similar to fsync(), but does not flush modified metadata unless that metadata is needed in order to allow a subsequent data retrieval to be correctly handled.
func IsDirWriteable ¶
IsDirWriteable checks if dir is writable by writing and removing a file to dir. It returns nil if dir is writable.
func Preallocate ¶
Preallocate tries to allocate the space for given file. This operation is only supported on linux by a few filesystems (btrfs, ext4, etc.). If the operation is unsupported, no error will be returned. Otherwise, the error encountered will be returned.
func PurgeFileWithDoneNotify ¶
func PurgeFileWithoutFlock ¶ added in v3.5.12
func ReadDir ¶
func ReadDir(d string, opts ...ReadDirOption) ([]string, error)
ReadDir returns the filenames in the given directory in sorted order.
func RemoveMatchFile ¶
RemoveMatchFile deletes file if matchFunc is true on an existing dir Returns error if the dir does not exist or remove file fail
func TouchDirAll ¶
TouchDirAll is similar to os.MkdirAll. It creates directories with 0700 permission if any directory does not exists. TouchDirAll also ensures the given directory is writable.
Types ¶
type FileBufReader ¶ added in v3.5.5
FileBufReader is a wrapper of bufio.Reader. It also provides file info.
func NewFileBufReader ¶ added in v3.5.5
func NewFileBufReader(fr FileReader) *FileBufReader
func (*FileBufReader) FileInfo ¶ added in v3.5.5
func (fbr *FileBufReader) FileInfo() fs.FileInfo
type FileReader ¶ added in v3.5.5
FileReader is a wrapper of io.Reader. It also provides file info.
func NewFileReader ¶ added in v3.5.5
func NewFileReader(f *os.File) FileReader
type LockedFile ¶
func TryLockFile ¶
type ReadDirOp ¶
type ReadDirOp struct {
// contains filtered or unexported fields
}
ReadDirOp represents an read-directory operation.
type ReadDirOption ¶
type ReadDirOption func(*ReadDirOp)
ReadDirOption configures archiver operations.
func WithExt ¶
func WithExt(ext string) ReadDirOption
WithExt filters file names by their extensions. (e.g. WithExt(".wal") to list only WAL files)