惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Martin Fowler
Martin Fowler
WordPress大学
WordPress大学
月光博客
月光博客
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
大猫的无限游戏
大猫的无限游戏
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 聂微东
Apple Machine Learning Research
Apple Machine Learning Research
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
雷峰网
雷峰网
小众软件
小众软件
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 叶小钗
美团技术团队
宝玉的分享
宝玉的分享
Hugging Face - Blog
Hugging Face - Blog
阮一峰的网络日志
阮一峰的网络日志
A
About on SuperTechFans
Jina AI
Jina AI
D
Docker
Last Week in AI
Last Week in AI
MongoDB | Blog
MongoDB | Blog
Stack Overflow Blog
Stack Overflow Blog
Microsoft Azure Blog
Microsoft Azure Blog

博客园 - 夏之夜

Linux 学习笔记之(十四)二进制分析工具 GO 学习笔记之四 工具(1)远程调试工具 dlv Shell命令集锦(一) Postgres 数据库(三)常见DDL命令 elasticsearch 学习笔记之五 备份还原开源方案比较 elasticsearch 学习笔记之四 快照 GO 学习笔记之一 环境安装 GO 学习笔记之零 (四)字符串处理集锦 GO 学习笔记之零 (三)常见问题处理集锦 GO 学习笔记之三 基础语法(5) 切片 GO 学习笔记之五 编程(三)单元测试 ( VSCODE工具运行 ) GO 学习笔记之三 基础语法(11) 数据类型转换 GO 学习笔记之零 (二)git 操作(VSCODE) GO 学习笔记之零 (一)GO推荐的工程目录结构 Git 学习笔记之(六)windows 上 git 工具 安装 GO 学习笔记之二 常用命令集锦 elasticsearch 学习笔记之一 elasticdump elasticsearch 学习笔记之二 常见接口 专题(二十) cut
GO 学习笔记之三 基础语法(12)文件操作
夏之夜 · 2024-12-26 · via 博客园 - 夏之夜

1、判断文件是否存在

    主要是使用 os 包中的函数,主要有如下两种判断方式

1.1 使用 os.Stat 函数 和 os.IsNotExist  函数

package file

import (
    "os"
)


func FileIsExist(fileAbsoulutePath string) (bool, error) {
    _, err := os.Stat(fileAbsoulutePath)
    if err != nil {
        if os.IsNotExist(err) {
            return false, nil
        }
        return false, err // 其他类型的错误,例如权限问题
    }
    return true, nil
}

1.2 使用  os.Open 函数 和 os.IsNotExist  函数

import "os"
 
func fileExists(filename string) bool {
    _, err := os.Open(filename)
    if os.IsNotExist(err) {
        return false
    }
    return true
}

 2、创建目录

/**
 * @description:   创建目录(如果路径中存在目录不存在,会自动创建)
 * @param {string} dirAbsoultePath   目录绝对路径
 * @return {*}   当目录创建失败的时候 返回 error,否则返回 nil
 * @author: 
 * @Date: 2024-12-30 11:22:32
 */
func CreateDir(dirAbsoultePath string) error {
    _err := os.MkdirAll(dirAbsoultePath, os.ModePerm)
    return _err
}