Documentation
¶
Overview ¶
Package fileutil implements utility functions related to files and paths.
Index ¶
- Constants
- Variables
- func CreateDirAll(dir string) error
- func Exist(name string) bool
- func Fdatasync(f *os.File) error
- func Fsync(f *os.File) error
- func IsDirWriteable(dir string) error
- func Preallocate(f *os.File, sizeInBytes int64, extendFile bool) error
- func PurgeFile(dirname string, suffix string, max uint, interval time.Duration, ...) <-chan error
- func ReadDir(dirpath string) ([]string, error)
- func TouchDirAll(dir string) error
- type LockedFile
Constants ¶
const ( // PrivateFileMode grants owner to read/write a file. PrivateFileMode = 0600 // PrivateDirMode grants owner to make/remove files inside the directory. PrivateDirMode = 0700 )
const ( // https://msdn.microsoft.com/en-us/library/windows/desktop/aa365203(v=vs.85).aspx LOCKFILE_EXCLUSIVE_LOCK = 2 LOCKFILE_FAIL_IMMEDIATELY = 1 )
Variables ¶
var (
ErrLocked = errors.New("fileutil: file already locked")
)
Functions ¶
func CreateDirAll ¶
CreateDirAll is similar to TouchDirAll but returns error if the deepest directory was not empty.
func Fdatasync ¶
Fdatasync is a wrapper around file.Sync(). Special handling is needed on linux platform.
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 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.