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) // 读取文件失败
	}
}
相关推荐
helloworld工程师15 分钟前
Java实现PDF加水印功能:技术解析与实践指南
java·开发语言·pdf
编程乐学(Arfan开发工程师)32 分钟前
10、底层注解-@Conditional条件装配
java·spring boot·后端·架构
五花肉村长33 分钟前
Linux-进程信号
linux·运维·服务器·开发语言·网络·c++
AA-代码批发V哥1 小时前
Java-List集合类全面解析
java·开发语言·list
羚羊角uou1 小时前
【C++】map和multimap的常用接口详解
开发语言·c++
Q_Q19632884751 小时前
python动漫论坛管理系统
开发语言·spring boot·python·django·flask·node.js·php
举一个梨子zz1 小时前
Java—— IO流 第一期
java·开发语言
帮帮志1 小时前
vue3与springboot交互-前后分离【验证element-ui输入的内容】
spring boot·后端·ui
Toby_0092 小时前
go 数据类型转换
开发语言·golang
计算机学姐2 小时前
基于SpringBoot的小型民营加油站管理系统
java·vue.js·spring boot·后端·mysql·spring·tomcat