Compare commits

...

3 Commits

View File

@ -23,6 +23,13 @@ func FileSize(filePath string) (size int64) {
return return
} }
// Return true if filePath exists
func FileExists(filePath string) bool {
_, osErr := os.Stat(filePath)
return osErr == nil || osErr == os.ErrExist
}
// Return true if filePath exists and it is a regular file
func IsRegularFile(filePath string) bool { func IsRegularFile(filePath string) bool {
if filePath != "" { if filePath != "" {
info, err := os.Stat(filePath) info, err := os.Stat(filePath)
@ -48,6 +55,22 @@ func IsSymLink(filePath string) bool {
return false return false
} }
func IsSocket(filePath string) bool {
if filePath != "" {
info, err := os.Stat(filePath)
return (err == nil || errors.Is(err, os.ErrExist)) && (info.Mode()&os.ModeSocket != 0)
}
return false
}
func IsNamedPipe(filePath string) bool {
if filePath != "" {
info, err := os.Stat(filePath)
return (err == nil || errors.Is(err, os.ErrExist)) && (info.Mode()&os.ModeNamedPipe != 0)
}
return false
}
func IsSymLinkByDirEntry(e os.DirEntry) bool { func IsSymLinkByDirEntry(e os.DirEntry) bool {
info, _ := e.Info() info, _ := e.Info()
return info.Mode()&os.ModeSymlink != 0 return info.Mode()&os.ModeSymlink != 0