go读写文件

1.读文件

package main

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

//go去读文件内容
func ReadAll(filePth string) string{
	file, err := os.Open(filePth)
	defer file.Close()
	var a string
	if nil == err {
		buff := bufio.NewReader(file)
		for {
			line, err := buff.ReadString('\n')
			if err == io.EOF {
				break
			}
			//a = a + line + "\n"
			a = a + line
		}

	}
	return a
}

func main()  {
// 根据自己的路径来填写 a := ReadAll("E:\\go\\zjy\\test") fmt.Println(a) }

 2.写文件

package main

import (
	"fmt"
	"io"
	"os"
)

func check(e error) {
	if e != nil {
		panic(e)
	}
}

func write(filename, data string) {
	//判断文件是否存在  存在返回 true 不存在返回false
	//filename = filename + ".txt"
	var exist = true
	if _, err := os.Stat(filename); os.IsNotExist(err) {
		exist = false
	}
	var f *os.File
	var err1 error

	if exist {
		f, err1 = os.OpenFile(filename, os.O_CREATE|os.O_APPEND|os.O_RDWR, 0666) //打开文件
		fmt.Println("文件存在")

	} else {
		f, err1 = os.Create(filename) //创建文件
		fmt.Println("文件不存在")
	}
	check(err1)
	//n1, err1 := io.WriteString(f, data+ "\n")
	io.WriteString(f, data+"\n")
	defer f.Close()
	//fmt.Printf("写入 %d 个字节n", n1)

}

func main()  {
	write("E:\\go\\zjy\\test","123456")
}

  

原文地址:https://www.cnblogs.com/zhaojingyu/p/15656891.html