From 03bf5f174d3da62e0b170e88c27a9e731bbe811c Mon Sep 17 00:00:00 2001 From: qydysky <32743305+qydysky@users.noreply.github.com> Date: Fri, 10 Feb 2023 00:09:26 +0800 Subject: [PATCH] Improve --- file/FileWR.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/file/FileWR.go b/file/FileWR.go index b9f3ae7..7bfe0d2 100644 --- a/file/FileWR.go +++ b/file/FileWR.go @@ -277,6 +277,25 @@ func (t *File) IsExist() bool { return true } +func (t *File) IsDir() bool { + if len(t.Config.FilePath) > 4096 { + panic(ErrFilePathTooLong) + } + + info, err := os.Stat(t.Config.FilePath) + if err != nil { + if errors.Is(err, os.ErrNotExist) { + return false + } else { + if !strings.Contains(err.Error(), "file name too long") { + panic(ErrFilePathTooLong) + } + return false + } + } + return info.IsDir() +} + func (t *File) File() *os.File { t.getRWCloser() return t.file -- 2.39.2