分享
Golang文件及文件夹
是个懒人 · · 3202 次点击 · · 开始浏览这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。
文件夹及文件相关使用方法
// 判断文件、文件夹是否存在
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 Mkdir() {
dir := "log"
// 创建文件夹
exist, err := PathExists(dir)
if err != nil {
fmt.Println(err.Error())
} else {
if exist {
fmt.Println(dir + "文件夹已存在!")
} else {
// 文件夹名称,权限
err := os.Mkdir(dir, os.ModePerm)
if err != nil{
fmt.Println(dir + "文件夹创建失败:", err.Error())
} else {
fmt.Println(dir + "文件夹创建成功!")
}
}
}
}
func RemoveDir() {
// 删除文件
dir := "log"
exist, err := PathExists(dir)
if err != nil {
fmt.Println(err.Error())
} else {
if exist {
// os.RemoveAll 是遍历删除,文件夹及文件均可使用
err := os.RemoveAll(dir)
if err != nil {
fmt.Println(dir + "删除失败:", err.Error())
} else {
fmt.Println(dir + "删除成功!")
}
} else {
fmt.Println(dir + "文件、文件夹不存在!")
}
}
}
func Files() {
/*
ioutil.WriteFile() 打开一个文件,文件不存在就添加一个。先清空文件内容,再写入
ModePerm 0777
*/
err := ioutil.WriteFile("log_1.log", []byte("你好" + "\n"), os.ModePerm)
if err != nil {
fmt.Println(err.Error())
}
/*
os.OpenFile() 追加内容到文件
O_RDWR 读写模式打开文件
O_APPEND 写操作时将数据附加到文件尾部
O_CREATE 如果不存在将创建一个新文件
ModePerm 0777
*/
file, err := os.OpenFile("log_2.log", os.O_RDWR | os.O_CREATE | os.O_APPEND, os.ModePerm)
if err != nil {
fmt.Println(err.Error())
} else {
file.WriteString("你好" + "\n")
}
// 关闭文件
defer file.Close()
}
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信3202 次点击
上一篇:leetcode_275
下一篇:leetcode_820
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
文件夹及文件相关使用方法
// 判断文件、文件夹是否存在
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 Mkdir() {
dir := "log"
// 创建文件夹
exist, err := PathExists(dir)
if err != nil {
fmt.Println(err.Error())
} else {
if exist {
fmt.Println(dir + "文件夹已存在!")
} else {
// 文件夹名称,权限
err := os.Mkdir(dir, os.ModePerm)
if err != nil{
fmt.Println(dir + "文件夹创建失败:", err.Error())
} else {
fmt.Println(dir + "文件夹创建成功!")
}
}
}
}
func RemoveDir() {
// 删除文件
dir := "log"
exist, err := PathExists(dir)
if err != nil {
fmt.Println(err.Error())
} else {
if exist {
// os.RemoveAll 是遍历删除,文件夹及文件均可使用
err := os.RemoveAll(dir)
if err != nil {
fmt.Println(dir + "删除失败:", err.Error())
} else {
fmt.Println(dir + "删除成功!")
}
} else {
fmt.Println(dir + "文件、文件夹不存在!")
}
}
}
func Files() {
/*
ioutil.WriteFile() 打开一个文件,文件不存在就添加一个。先清空文件内容,再写入
ModePerm 0777
*/
err := ioutil.WriteFile("log_1.log", []byte("你好" + "\n"), os.ModePerm)
if err != nil {
fmt.Println(err.Error())
}
/*
os.OpenFile() 追加内容到文件
O_RDWR 读写模式打开文件
O_APPEND 写操作时将数据附加到文件尾部
O_CREATE 如果不存在将创建一个新文件
ModePerm 0777
*/
file, err := os.OpenFile("log_2.log", os.O_RDWR | os.O_CREATE | os.O_APPEND, os.ModePerm)
if err != nil {
fmt.Println(err.Error())
} else {
file.WriteString("你好" + "\n")
}
// 关闭文件
defer file.Close()
}