Golang如何删除文件?如何判断文件是否存在?文件删除常用函数是什么?本篇文章运用简单易懂的例子给大家介绍一下的方法,感兴趣的小伙伴们可以参考借鉴,希望对你们有所帮助。
判断文件是否存在
判断文件或目录是否存在常用函数:
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 : %v\n", err)
}
err = os.RemoveAll("./file2.txt")
if err != nil {
fmt.Printf("remove all ./file2.txt err : %v\n", err)
}
}
想要学习Go语言,在这里推荐老男孩教育,我们的学习周期为4-6个月,班型有周末班、网络班,学员可以根据自己的实际情况选择适合的班型。
推荐阅读: