Compare commits

..

3 Commits

View File

@ -23,6 +23,13 @@ func FileSize(filePath string) (size int64) {
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 {
if filePath != "" {
info, err := os.Stat(filePath)
@ -48,6 +55,22 @@ func IsSymLink(filePath string) bool {
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 {
info, _ := e.Info()
return info.Mode()&os.ModeSymlink != 0