golang 文件基本操作

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

//写入文件
func WriteFile(path string) {
	//新建文件
	f, err := os.Create(path)
	if err != nil {
		fmt.Println("err=", err)
		return
	}
	//使用完毕需要关闭文件
	defer f.Close()
	for i := 0; i < 10; i++ {
		f.WriteString(fmt.Sprintf("i=%d\n", i))
	}
}

//读取文件
func ReadFile(path string) {
	//打开文件
	f, err := os.Open(path)
	if err != nil {
		fmt.Println("err=", err)
		return
	}

	//关闭文件
	defer f.Close()

	buf := make([]byte, 1024)

	if n, err1 := f.Read(buf); err1 != nil && err1 != io.EOF {
		fmt.Println("err1=", err1)
		return
	} else {
		fmt.Println("buf=", string(buf[:n]))
	}
}

//读取文件一行
func ReadFileLine(path string) {
	//打开文件
	f, err := os.Open(path)
	if err != nil {
		fmt.Println("err=", err)
		return
	}

	//关闭文件
	defer f.Close()

	r := bufio.NewReader(f)
	for {
		if buf, err := r.ReadBytes('\n'); err != nil {
			if err == io.EOF {
				break
			}
		} else {
			fmt.Println(string(buf))
		}
	}
}

func main() {
	path := "./demo.txt"
	WriteFile(path)
	ReadFile(path)
	ReadFileLine(path)
}

  

猜你喜欢

转载自www.cnblogs.com/lemonzwt/p/10029847.html