栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Go语言

学习笔记 Golang 写入文件(io.WriteString、ioutil.WriteFile、file.Write、write.WriteString)

Go语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

学习笔记 Golang 写入文件(io.WriteString、ioutil.WriteFile、file.Write、write.WriteString)

一、io.WriteString写文件 语法
func WriteString(w Writer, s string) (n int, err error)
参数
参数描述
wWriter 对象。
s要写入的文件内容。
返回值
返回值描述
n写入的字节数。
err写入失败,则返回错误信息。
说明

使用 WriteString 方法写文件,接受的第一个 参数 是一个 Writer 接口,第二个参数是一个 stirng 类型的要写入的字符串。

如果写入成功,返回成功写入的字节数,如果写入失败,返回 error 信息,在写入文件之前,我们需要判断文件是否存在,如果文件不存在,则需要创建文件。

package main

import (
	"fmt"
	"io"
	"io/ioutil"
	"os"
)

const strs = "n n 写文件ok思密达3"
func main(){
	fmt.Println("golang 写文件")
	var(
		fileName = "G:/BaiduNetdiskDownload/my/视死如归魏君子.txt"
		content = strs
		file *os.File
		err error
	)
	//文件是否存在
	if Exists(fileName) {
		//使用追加模式打开文件
		file,err = os.OpenFile(fileName,os.O_APPEND,0666)
		if err!=nil{
			fmt.Println("打开文件错误:",err)
			return
		}
	}else {
		//不存在创建文件
		file ,err = os.Create(fileName)
		if err !=nil{
			fmt.Println("创建失败",err)
			return
		}
	}

	defer file.Close()
	//写入文件
	n,err:=io.WriteString(file,content)
	if err != nil {
		fmt.Println("写入错误:",err)
		return
	}
	fmt.Println("写入成功:n=",n)
	//读取文件
	fileContent,err:=ioutil.ReadFile(fileName)
	if err!= nil{
		fmt.Println("读取错误:",err)
		return
	}
	fmt.Println("读取成功,文件内容:",string(fileContent))

}

// 判断所给路径文件/文件夹是否存在
func Exists(path string) bool {
	_, err := os.Stat(path)    //os.Stat获取文件信息
	if err != nil {
		if os.IsExist(err) {
			return true
		}
		return false
	}
	return true
}

golang 写文件
写入成功:n= 25
读取成功,文件内容: 
 
 写文件ok思密达2
 
 写文件ok思密达3
 
 写文件ok思密达3

调试器 已完成,退出代码为 0
 

 

二、ioutil.WriteFile写文件 语法
func WriteFile(filename string, data []byte, perm os.FileMode) error
参数
参数描述
filename文件路径。
data要写入的文件内容。
perm文件权限。
返回值
返回值描述
err写入失败,则返回错误信息。
说明

使用 WriteFile 方法写文件,接受的第一个 参数 是一个 string 类型 的文件名,第二个参数是一个要写入的文件内容的 byte 数组,最后一个参数是文件的权限。

如果写入成功,返回空的 error 信息,如果写入失败,返回 error 信息,使用 ioutil.WriteFile写文件,在写入文件之前,我们不需要判断文件是否存在,如果文件不存在,会自动创建文件,如果文件存在,则会覆盖原来的内容。

package main

import (
	"fmt"
	"io/ioutil"
	"os"
)

const strs = "n n 武动乾坤(林动)"
func main(){
	var(
		fileName = "G:/BaiduNetdiskDownload/my/武动乾坤.txt"
		content = strs
		err error
		//file *os.File
	)
    //写入文件
	if err = ioutil.WriteFile(fileName,[]byte(content),0666);err !=nil{
		fmt.Println("写入错误:",err)
	}

	//读取文件
	fileContent,err:=ioutil.ReadFile(fileName)
	if err!= nil{
		fmt.Println("读取错误:",err)
		return
	}
	fmt.Println("读取成功,文件内容:",string(fileContent))

}

API server listening at: [::]:64576
读取成功,文件内容: 
 
 武动乾坤(林动)

调试器 已完成,退出代码为 0

 

三、(1)file.Write写文件 语法
func (f *File) Write(b []byte) (n int, err error)
参数
参数描述
f文件对象。
b要写入的文件内容。
返回值
返回值描述
n成功写入的字节数。
err写入失败,则返回错误信息。
说明

使用 file.Write 方法写文件,接受的 参数 是一个要写入的文件内容的 字节 数组。如果写入成功,返回成功写入的字节数,如果写入失败,返回 error 信息。

使用此方法在写入文件之前,我们需要判断文件是否存在,如果文件不存在,则需要创建文件。

(2)file.WriteString写文件 语法
func (f *File) WriteString(s string) (n int, err error)
参数
参数描述
f文件对象。
s要写入的文件内容。
返回值
返回值描述
n成功写入的字节数。
err写入失败,则返回错误信息。
说明

使用 file.WriteString 方法写文件,接受的参数是一个要写入的文件内容的 字符串。如果写入成功,返回成功写入的字节数,如果写入失败,返回 error 信息。

使用此方法在写入文件之前,我们需要判断文件是否存在,如果文件不存在,则需要创建文件。

写法和io.WriteString完全一致,只有细微的区别:

//io.WriteString() 写入文件

n,err =io.WriteString(file,content)

//file.Write() 写入文件

n,err:=file.Write([]byte(content))


//file.Write() 写入文件

n,err =file.WriteString(content)

转自:Golang读写文件-Go语言文件读写-Go语言 io.WriteString 写文件-嗨客网

Go语言Write写入文件-Golang file.Write写文件-嗨客网

Go语言WriteFile写文件-Golang ioutil.WriteFile写文件-嗨客网

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/990271.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号