Golang中怎么创建文件目录
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这期内容当中小编将会给大家带来有关Golang中怎么创建文件目录,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。文件目录的创建和删除package mainimpor
千家信息网最后更新 2025年12月02日Golang中怎么创建文件目录
这期内容当中小编将会给大家带来有关Golang中怎么创建文件目录,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
文件目录的创建和删除
package mainimport( "fmt" "os")func main(){ //创建目录和权限 os.Mkdir("./benben",0777) //创建多级目录和设置权限 os.MkdirAll("./benben/test",0777) //删除目录 err:=os.Remove("./benben") if err!=nil{ fmt.Println(err) } //删除多级目录 os.RemoveAll("./benben")}文件的创建
package mainimport ( "os" "fmt")func main(){ //文件的创建,Create会根据传入的文件名创建文件,默认权限是0666 file,err:=os.Create("a.txt") if err!=nil{ fmt.Println(err) } defer file.Close()}文件的打开和关闭 文件的打开和关闭相关函数在文件的读取和写入示例中演示。
文件的读取和写入 文件的读取有以下几种方式: 方法一: 利用os.Open()和ioutil.ReadAll()两个方法
package mainfunc main(){ //打开文件 file,err:=os.Open("a.txt") if err !=nil { fmt.Println(err) } //文件的关闭 defer file.Close() //文件读取方式一,通过os.Open返回一个文件句柄,然后利用它进行读取 body,err:=ioutil.ReadAll(file) if err !=nil { fmt.Println(err) } fmt.Println(string(body))}方法二:利用ioutil.ReadFile()方法来实现读取操作。
package mainfunc main(){ body,err:=ioutil.ReadFile("a.txt") if err!=nil { fmt.Println(err) } fmt.Println(string(body))}ReadFile函数直接将方式一中的三个步骤分装在了一起,下面是实现的具体代码。
func ReadFile(filename string)([]byte,error){ //打开文件 f,err:=os.Open(filename) if err!=nil { return nil,err } //延迟关闭文件 defer f.Close() //设置读取文件的字节数 var n int64 //Stat()方法会返回描述指定文件的信息结构FileInfo if fi,err:=f.Stat();err==nil{ if size:=fi.Size();size<1e9{ n=size } } //返回读取的文件内容 return readAll(f,n+bytes.MinRead)}FileInfo具有以下方法:
Name() string //返回文件名Size() int64 //返回文件的字节长度Mode() FileMode //文件模式位ModTime() time.Time //修改时间IsDir() bool //是否是目录Sys() interface{} //底层数据源方法三: 带缓存的读取
package mainfunc main(){ file,err:=os.Open("a.txt") if err!=nil { fmt.Println(err) } defer file.Close() //创建一个新的io.Reader,它实现了Read方法 reader:=bufio.NewReader(file) //设置读取的长度 buf:=make([]byte,1024) //读取文件 _,err=reader.Read(buf) if err!=nil { fmt.Println(err) } fmt.Println(string(buf))}文件的写入 方法一: 利用ioutil.WriteFile()
package mainimport ( "io/ioutil")func main(){ content:=[]byte("Go is an open source programming language that makes is easy to build simple,reliable,and efficient software) err:=ioutil.WriteFile("a.txt",content,0777) if err!=nil { fmt.Println(err) } fmt.Println("write file successful")}看看WriteFile具体是如何实现文件的写入的。
func WriteFile(filename string,data []byte,perm os.FileMode) error{ //打开文件 f,err:=os.OpenFile(filename,os.O_WRONLY|os.O_CREATE|os.O_TRUNC,perm) if err!=nil { return err } //文件的写入 n,err:=f.Write(data) if err==nil && n方法二:打开文件,然后利用Write()进行文件读写,注意:此时不能用os.Open()打开,而要用os.OpenFile()打开。os.Open()和os.OpenFile()两者区别
package mainfunc main(){ file,err:=os.OpenFile("a.txt",os.O_RDWR|os.O_CREATE,0777) if err!=nil { fmt.Println(err) } defer file.Close() content:=[]byte("Go is an open source programing language that makes it easy to build simple,reliable,and efficient software") _,err=file.Write(content) if err!=nil { fmt.Println(err) } fmt.Println("write file successful")}方法三:通过有缓冲操作的bufio提供的包进行操作 如果使用Write方法实现写操作,此时就还需要使用Flush()方法。golang bufio包中的Write方法分析
package mainfunc main(){ file,err:=os.OpenFile("a.txt", os.O_CREATE|os.O_RDWR, 0666) if err!=nil { fmt.Println(err) } defer file.Close() content:=[]byte("Go is an open source programing language that makes it easy to build simple,reliable,and efficient software") //使用NewWriter方法返回的io.Writer缓冲默认大小为4096,也可以使用NewWriterSize方法设置缓存的大小 newWriter:=bufio.NewWriter(file) //将文件写入缓存 if _,err =newWriter.Write(content);err!=nil { fmt.Println(err) } //从缓存写入到文件中 if err= newWriter.Flush(); err!=nil { fmt.Println(err) } fmt.Println("write file successful")}上述就是小编为大家分享的Golang中怎么创建文件目录了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。
文件
方法
目录
缓存
内容
方式
权限
分析
函数
大小
字节
文件名
长度
缓冲
三个
专业
两个
中小
代码
信息
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
宝塔创建远程数据库
转行网络安全看什么书
西安高新区软件开发公司电话
知道数据库第三章测试
如何获取app上的数据库
网络安全为人民宣传画小学图片
查询各科不及格人数数据库
图片服务器源码
杭州计算机应用软件开发哪里好
应软件开发图片
电脑开机服务器拒接访问
渗透测试网络安全公司排名
迅达电梯万能服务器操作说明
西麦科技软件开发
公务员警察网络安全管理
云数据库ID设置自增方法
软件开发适合什么公务员
如何打开服务器配置管理器
武汉维凯达软件开发
极限网络技术股份有限公司
网络安全宣传周活动流程
服务器的输入指令大全
歌尔eea事业部软件开发
网络安全要不要学语言
喵喵开的服务器
上海优嘻互联网信息科技有限公司
知乎批量养号服务器
数据库表的创建和管理实验小结
网络安全法律体系是以
家庭网络安全教育培训