golang--文件讀取的相關操作

本節主要記錄golang文件讀取的相關操作:

一、讀取文件內容:

package main

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

func main() {
	ReadFile("abc.txt")
}

func ReadFile(fileName string) {
	file, err := os.Open(fileName)
	defer func() {
		fmt.Println("關閉文件讀取")
		file.Close()
	}()

	if err != nil {
		fmt.Println(err)
        return
	}

	scanner := bufio.NewScanner(file)
	for scanner.Scan() {
		fmt.Println(scanner.Text())
	}
}

注意點:1、用os.Open()打開文件流後要記得關閉,一般用defer來完成關閉操作

2、可以通過scanner.Scan()函數來判斷文件是否讀取完畢,該函數返回bool值,返回false時表示文件讀取完畢。

二、創建文件並向文件寫入內容

package main

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

func main() {
	WriteFile()
}

func WriteFile() {
	file, err := os.Create("fibonacci.txt")
	defer func() {
		fmt.Println("關閉文件流")
		file.Close()
	}()
	if err != nil {
		fmt.Println(err)
		return
	}

	writer := bufio.NewWriter(file)
	defer writer.Flush()

	fmt.Fprintln(writer, "Hello")
}

注意點:1、同上,打開文件流後必須關閉;

2、後需要調用writer.Flush()函數把數據刷入文件流,這樣才能把內容寫入文件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章