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) // 读取文件失败
	}
}
相关推荐
大胖丫8 分钟前
vue 学习-vite api.js
开发语言·前端·javascript
遇见很ok10 分钟前
js中 ES6 新特性详解
开发语言·javascript·es6
没有晚不了安18 分钟前
1.13作业
开发语言·python
布谷歌22 分钟前
Oops! 更改field的数据类型,影响到rabbitmq消费了...(有关于Java序列化)
java·开发语言·分布式·rabbitmq·java-rabbitmq
被程序耽误的胡先生27 分钟前
java中 kafka简单应用
java·开发语言·kafka
刀客12328 分钟前
python小项目编程-中级(1、图像处理)
开发语言·图像处理·python
Long_poem31 分钟前
【自学笔记】Spring Boot框架技术基础知识点总览-持续更新
spring boot·笔记·后端
卷卷的小趴菜学编程32 分钟前
c++之多态
c语言·开发语言·c++·面试·visual studio code
冷琴19961 小时前
基于Python+Vue开发的反诈视频宣传管理系统源代码
开发语言·vue.js·python
楠枬1 小时前
网页五子棋——对战后端
java·开发语言·spring boot·websocket·spring