Golang文件操作

写文件

  os模块可以创建文件,使用fmt可以写入文件。如以下例子:

复制代码
package main

import (
	"fmt"
	"os"
)

func main() {
	// 学习 golang的文件操作
	file, err := os.Create("test.txt")
	if err != nil {
		fmt.Println("文件创建失败", err)
	}
	_, err = fmt.Fprintln(file, "hello world")
	if err != nil {
		return
	}
	err = file.Close()
	if err != nil {
		fmt.Println("文件关闭失败", err)
	}
}

读文件

读文件可以用bufio模块,利用Scanner进行逐行读取。如以下例子:

go 复制代码
package main

import (
	"bufio"
	"fmt"
	"os"
)

func main() {
	// WriteFile()
	file, err := os.Open("test.txt")
	if err != nil {
		fmt.Println(err) // 文件打开失败
	}
	defer func(file *os.File) {
		err := file.Close()
		if err != nil {
			fmt.Println(err)
		}
	}(file)
	scanner := bufio.NewScanner(file)
	for scanner.Scan() {
		fmt.Println(scanner.Text())
	}
	if err := scanner.Err(); err != nil {
		fmt.Println(err) // 读取文件失败
	}
}
相关推荐
Xidaoapi几秒前
5分钟让你的Python项目接入GPT-4:从配置到上线的完整指南
后端
叼烟扛炮13 分钟前
C++ 知识点17 友元
开发语言·c++·算法·友员
SamDeepThinking21 分钟前
写代码不考虑前后兼容,迟早要还的
java·后端·程序员
计算机安禾21 分钟前
【c++面向对象编程】第2篇:类与对象(一):定义第一个类——成员变量与成员函数
开发语言·c++
Dxy123931021622 分钟前
Python Pillow库:`img.format`与`img.mode`的区别详解
开发语言·python·pillow
亿牛云爬虫专家24 分钟前
深度解析:数据采集场景下的 Java 代理技术实战
java·开发语言·数据采集·动态ip·动态代理·代理配置·连接池复用
小小仙。30 分钟前
IT自学第四十二天
java·开发语言
庞轩px37 分钟前
第四篇:SpringBoot自动配置——约定大于配置的底层原理
java·spring boot·后端·spring·自动配置·注解开发
追逐时光者1 小时前
C#/.NET/.NET Core技术前沿周刊 | 第 70 期(2026年5.01-5.10)
后端·.net
兩尛1 小时前
c++知识点5
开发语言·c++