判断文件是否存在
判断文件或目录是否存在常用函数:
func IsExist(err error) bool
返回一个布尔值说明该错误是否表示一个文件或目录已经存在。ErrExist和一些系统调用错误会使它返回真。
func IsNotExist(err error) bool
返回一个布尔值说明该错误是否表示一个文件或目录不存在。ErrNotExist和一些系统调用错误会使它返回真。
package main import ( "fmt" "os" ) func main() { path := "./oldboy/golang.go" b, err := PathExists(path) if err != nil { fmt.Printf("PathExists(%s),err(%v)n", path, err) } if b { fmt.Printf("path %s 存在n", path) } else { fmt.Printf("path %s 不存在n", path) } } /* 判断文件或文件夹是否存在 如果返回的错误为nil,说明文件或文件夹存在 如果返回的错误类型使用os.IsNotExist()判断为true,说明文件或文件夹不存在 如果返回的错误为其它类型,则不确定是否在存在 */ func PathExists(path string) (bool, error) { _, err := os.Stat(path) if err == nil { return true, nil } if os.IsNotExist(err) { return false, nil } return false, err }
文件删除
文件删除常用函数:
func Remove(name string) error
Remove删除name指定的文件或目录。如果出错,会返回*PathError底层类型的错误。
func RemoveAll(path string) error
RemoveAll删除path指定的文件,或目录及它包含的任何下级对象。它会尝试删除所有东西,除非遇到错误并返回。如果path指定的对象不存在,RemoveAll会返回nil而不返回错误。
代码实现:
package main import ( "fmt" "os" ) func main() { err := os.Remove("./file1.txt") if err != nil { fmt.Printf("remove ./file1.txt err : %vn", err) } err = os.RemoveAll("./file2.txt") if err != nil { fmt.Printf("remove all ./file2.txt err : %vn", err) } }
特别声明:以上文章内容仅代表作者本人观点,不代表变化吧观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与变化吧联系。
- 赞助本站
- 微信扫一扫
-
- 加入Q群
- QQ扫一扫
-
评论