Golang如何使用os操作文件和目录_Golang os文件目录操作方法


Go语言通过os包提供文件与目录操作功能,包括创建、读写、删除及信息获取。1. 使用os.Create创建文件,os.Mkdir/os.MkdirAll创建单层或多层目录。2. os.Open配合Read或io.ReadAll实现文件读取。3. os.OpenFile支持指定模式写入内容。4. os.Remove删除文件或空目录,os.RemoveAll可删除非空目录。5. os.Stat获取文件元信息,如名称、大小、权限等。6. os.ReadDir遍历目录条目,推荐用于高效读取。结合io和path/filepath包可完成常见文件系统操作。

golang如何使用os操作文件和目录_golang os文件目录操作方法

Go语言通过内置的 os 包提供了对操作系统文件和目录的强大支持。无论是创建、读取、写入、删除文件,还是操作目录结构,都可以使用 os 包中的函数轻松实现。下面介绍常用的文件与目录操作方法。

1. 创建文件和目录

使用 os.Create 可以创建一个新文件。如果文件已存在,会清空内容;若路径不存在,需先创建目录。

file, err := os.Create("example.txt")
if err != nil {
    log.Fatal(err)
}
defer file.Close()

创建目录可以使用 os.Mkdiros.MkdirAll。后者可递归创建多级目录。

err := os.Mkdir("dir1", 0755) // 创建单层目录
if err != nil {
    log.Fatal(err)
}

err = os.MkdirAll("dir1/dir2/dir3", 0755) // 创建多级目录
if err != nil {
    log.Fatal(err)
}

2. 读取文件内容

有多种方式读取文件。最简单的是使用 os.Open 打开文件后读取。

file, err := os.Open("example.txt")
if err != nil {
    log.Fatal(err)
}
defer file.Close()

data := make([]byte, 1024)
n, err := file.Read(data)
if err != nil && err != io.EOF {
    log.Fatal(err)
}
fmt.Printf("读取内容: %s\n", data[:n])

也可以结合 io.ReadAll 一次性读取全部内容。

3. 写入文件

打开文件进行写入时,可以使用 os.OpenFile 指定模式,如追加或覆盖写入。

易森网络企业版 易森网络企业版

如果您是新用户,请直接将本程序的所有文件上传在任一文件夹下,Rewrite 目录下放置了伪静态规则和筛选器,可将规则添加进IIS,即可正常使用,不用进行任何设置;(可修改图片等)默认的管理员用户名、密码和验证码都是:yeesen系统默认关闭,请上传后登陆后台点击“核心管理”里操作如下:进入“配置管理”中的&ld

易森网络企业版 0 查看详情 易森网络企业版
file, err := os.OpenFile("example.txt", os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0644)
if err != nil {
    log.Fatal(err)
}
defer file.Close()

_, err = file.WriteString("追加一行内容\n")
if err != nil {
    log.Fatal(err)
}

4. 删除文件和目录

使用 os.Remove 可删除文件或空目录。

err := os.Remove("example.txt")
if err != nil {
    log.Fatal(err)
}

要删除非空目录,应使用 os.RemoveAll

err := os.RemoveAll("dir1")
if err != nil {
    log.Fatal(err)
}

5. 获取文件信息

使用 os.Stat 可获取文件或目录的详细信息,如大小、权限、是否为目录等。

info, err := os.Stat("example.txt")
if err != nil {
    log.Fatal(err)
}
fmt.Printf("文件名: %s\n", info.Name())
fmt.Printf("大小: %d 字节\n", info.Size())
fmt.Printf("是否为目录: %t\n", info.IsDir())
fmt.Printf("权限: %s\n", info.Mode())

6. 遍历目录

使用 os.ReadDir(推荐)可以读取目录中所有条目,返回按名称排序的目录项列表。

entries, err := os.ReadDir(".")
if err != nil {
    log.Fatal(err)
}
for _, entry := range entries {
    if entry.IsDir() {
        fmt.Printf("[DIR]  %s\n", entry.Name())
    } else {
        fmt.Printf("[FILE] %s\n", entry.Name())
    }
}

注意:从 Go 1.16 起,os.ReadDir 是推荐方式,比 ioutil.ReadDir 更高效。

基本上就这些常用操作。Go 的 os 包设计简洁,配合 iopath/filepath 使用,能完成绝大多数文件系统任务。掌握这些基础方法,就能在项目中自如处理文件和目录。

以上就是Golang如何使用os操作文件和目录_Golang os文件目录操作方法的详细内容,更多请关注其它相关文章!


# 文件系统  # seo资讯引流拓客  # 扬州网站排名优化  # 咸阳网站建设工作推荐会  # 紫阳全网营销推广  # 户外广告推广营销活动  # 江门seo推广营销  # 台州网站优化托管哪家好  # 沙河什么是网站建设  # 网站建设视频号是什么  # 天津域名关键词排名查询  # 都是  # 的是  # go  # 遍历  # 如何使用  # 器中  # 可以使用  # 操作方法  # 递归  # 字节  # app  # go语言  # 操作系统  # golang 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: PointNet++语义分割模型中类别变更引发的断言错误及标签处理策略  Python项目中的条件导入:解决跨模块依赖问题  歌词怎么展示在|直播|间视频号?有什么注意事项?  猫眼电影app如何筛选支持退改签的影院_猫眼电影退改签影院筛选方法  《金山词霸》语音翻译方法  百度识图图像分析 百度识图识别平台  一点万象签到领积分指南  自定义你的VS Code状态栏,监控关键信息  谷歌浏览器如何查找和删除恶意软件 谷歌浏览器内置安全清理工具使用教程  向日葵客户端怎么进行语音通话_向日葵客户端语音通话功能使用方法  飞飞漫画漫画阅读官网_飞飞漫画漫画阅读官网进入阅读  《全民k歌》音乐怎么下载到本地2025  不吃碳水化合物是健康减肥的好办法吗  圆通快递包裹轨迹查询 圆通速递快件实时位置跟踪  百度地图离线地图无法加载如何解决 百度地图离线地图加载优化方法  如何在Python中安全地将环境变量转换为整数并满足Mypy类型检查  《海贝音乐》均衡器设置方法  《合金装备4》有望推出重制版!制作人发话了  在Peewee中处理PostgreSQL记录重复:一站式数据摄取教程  windows server2019显卡驱动怎么安装_winserver2019显卡驱动安装与远程桌面优化  Win11如何分屏操作_Win11多窗口分屏技巧  sublime怎么在文件中显示代码结构大纲_sublime符号列表功能  美发店速赢秘籍  小米civi如何设置锁屏时间  抖音网页版官方链接 抖音网页版官网链接入口  猫眼app抢票快还是小程序快  mysql触发器如何编写_mysql触发器编写规范与代码示例讲解  批改网官网首页登录 批改网学生用户登录入口  使用Python和GBGB API高效抓取指定日期范围和赛道比赛结果教程  创建您的便携版VS Code:让配置随身携带  如何通过settings.json个性化您的VS Code体验  解决Pandas DataFrame高度碎片化警告:高效创建多列的策略  在VS Code中进行数据科学和机器学习开发  海棠书屋官方在线书籍入口 海棠书屋文学作品浏览官网链接  哔哩哔哩在线观看入口 B站官网免费进入  荣耀盒子应用管理技巧  使用 J*aScript 随机化 CSS Grid 布局中的元素顺序  疯狂小鸟微信小游戏入口 疯狂小鸟网页版秒玩  申通快件单号查询平台 申通包裹物流动态跟踪  我的世界官方网址入口 我的世界游戏主页直达入口  Vue 3中独立响应式实例的创建与应用  t3出行如何使用微信支付  传统曲艺莲花落的表演形式是  如何在 WordPress 前端实现内容提交:古腾堡编辑器的替代方案与实践  Highcharts雷达图轴线交点数值标注指南  163邮箱登录入口官网 163.com邮箱登录入口  《360浏览器》设置摄像头权限方法  Win11怎么设置分辨率 Win11显示设置调整分辨率及刷新率修改  Git命令与VS Code UI操作的对应关系解析  《原神》月之一版本新增书籍一览 

 2025-11-28

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.