介绍
本篇内容介绍了“golang创建文件目录os.Mkdir,操作系统。MkdirAll有什么区别”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
如下所示:
,os.Mkdir (“abc",, os.ModePerm),,//创建目录, ,os.MkdirAll (“dir1/dir2/dir3",, os.ModePerm),//创建多级目录
首先,试图从一个去可执行文件创建一组嵌套目录(如& # 39;dir1/dir2 dir3& # 39;),并打印错误出来看看。
犯错:=os.Mkdir (“dir1/dir2/dir3”os.ModePerm) if 犯错!=nil { ,fmt.Println (err), } 结果:mkdir 。/dir1/dir2/dir3:,, system cannot find 从而path 指定。
Mkdir用于创建单个目录。
犯错:=os.Mkdir (“。/dir1" os.ModePerm) if 犯错!=nil { ,fmt.Println (err) }
初次创建dir1时成功,再次创建dir1时,如果路径已经是一个目录,Mkdir会报错
mkdir 。/dir1:, Cannot create a file when that file already 存在。
根据日期创建文件夹
import ( ,“os" ,“路径/filepath" ,“time" )//,CreateDateDir 根据当前日期来创建文件夹 func CreateDateDir (Path 字符串),string { ,folderName :=, time.Now () .Format (“20060102”) ,folderPath :=, filepath.Join(路径,folderName) ,if _, err :=, os.Stat (folderPath);, os.IsNotExist (err), { ,//必须分成两步:先创建文件夹,再修改权限 ,os.Mkdir (folderPath, 0777), 0777年//也可以os.ModePerm ,os.Chmod (folderPath, 0777) ,} return folderPath }
创建文件夹路径,请使用os.MkdirAll (folderPath,操作系统。ModePerm)
呃=os.MkdirAll (“。/dir1/dir2", os.ModePerm) if 犯错!=nil { ,fmt.Println (err) ,} 犯错为零 成功创建dir1和dir2文件路径
MkdirAll会创建一个名为路径的目录以及任何必要的父项,并返回零,否则返回错误。许可位烫用于MkdirAll创建的所有目录。如果路径已经是一个目录,MkdirAll什么也不做,并返回零。
根据日期创建文件夹路径
uploadDir :=,“静态/上传/?+,time.Now () .Format (“2006/01/02/? err :=, os.MkdirAll (uploadDir ,, 777)
其他操作系统包中的一些常用函数:
os.Getwd(),//获取当前目录
创建文件
f1, _ :=, os.Create (“。/1. txt"), defer f1.Close ()
以读写方式打开文件,如果不存在则创建文件,等同于上面操作系统。创建
f4,, _ :=, os.OpenFile (“。/4. txt",, os.O_RDWR | os.O_CREATE | os.O_TRUNC,, 0666) defer f4.Close ()
用os.path.join()连接两个文件名地址的时候,就比如
os.path.join (“D: \“,“test.txt"), \ \结果是D: \测试。txt
删除指定目录下所有文件
os.Remove (“abc/d/e/f")
删除指定目录
os.RemoveAll (“abc")
重命名文件
os.Rename (“。/2. txt",,“。/2 _new.txt")
如有不对欢迎指正,相互学习,共同进步。
<强>补充:去创建文件带目录强>
我就废话不多说了,大家还是直接看代码吧~
//,create file with dir if dir is not 存在//,path is  dir//,name is  file 名字 func createFileWithDir(字符串,path name 字符串,content 字符串),{ ,os.MkdirAll(路径,os.ModePerm) ,文件,_ :=, os.OpenFile(时间+ path “/? +,名字,,os.O_RDWR | os.O_CREATE | os.O_TRUNC,, 0666) ,defer file.Close () ,file.WriteString(内容) }