Go文件操作

golang的os包提供了文件想关的操作,打开,关闭,创建,删除等。filepath包则提供了路径相关的操作,如绝对路径,相对路径,取文件名,取后缀名,取路径等。

判断文件是否存在:

//path既可以是目录路径,也可以是文件路径
if err := os.Stat(path); err == nil {
     
    //文件存在
} else {
     
    //文件不存在
}

创建文件:

out, err := os.Create("F://a.bmp")
if err != nil {
     
	//创建文件失败
	return
}
defer out.Close()

创建目录:

err := os.MkdirAll(dir, os.ModePerm) //os.ModePerm=0777
if err != nil {
     
    //创建目录失败
}

删除文件:

err = os.Remove("F://a.bmp")
if err != nil {
     
    //删除文件失败
}

一旦os.Create调用完成,文件就存在了,可以立刻调用os.State判断文件是否存在,结果是存在的。

out, err := os.Create("F://a.bmp")
if err != nil {
     
	return
}
if _, err = os.Stat("F://a.bmp"); err == nil {
     
    println("存在") //会输出“存在”
} else {
     
    println("不存在")
}
out.Close()

os.Create调用之后,返回的是一个打开的文件,如果要用os.Remove删除文件,那么必须先将创建的文件关闭,然后才可以删除。

out, err := os.Create("F://a.bmp")
if err != nil {
     
    return
}
out.Close() //必须先 Close 才能删除
err = os.Remove("F://a.bmp")
if err != nil {
     
    println("[remove err]", err)
}

你可能感兴趣的:(Go,go)