golang 文件操作之一

文件流概念

數據保存在文件中,文件的輸入輸出是通過流來實現的
在這裏插入圖片描述

讀文件
帶緩衝的讀取文件方式

golang 要讀取一個文件內容,首先必須要打開這個文件,從文件中讀取內容,然後進行後續的操作。簡單的打開文件方式就是通過os包裏面的Open函數,下面咱們就通過Open函數來操作一把。

package main
import(
	"os"
	"io"
	"bufio"
)
func main(){
	filePath := "/tmp/test.txt"
	file, err := os.Open(filePath)
	// 判斷讀取文件是否成功
	if err != nil {
		fmt.Println("讀取文件失敗:", err)
		//  讀取失敗直接退出程序執行
	}
	// 關閉文件
	defer file.Close()
	// 通過文件指針file,使用bufio帶緩衝的讀取方式,
	reader:= bufio.NewReader(file)
	// 循環讀取
	for {
		cnt, err:= reader.ReadString('\n')
		if err == io.EOF {
			break
		}
		fmt.Printf("%v", string(cnt))
	}
}
不帶緩衝的讀取方式

通過io/ioutil包讀取文件,這種方式適合小文件的讀取

package main
import(
	"fmt"
	"io/ioutil"
)

func main() {
	filePath := "/tmp/abc.txt"
	// ioutil.ReadFile 函數不需要我們打開文件,判斷打開是否成功,它已經幫我們封裝好了,直接用即可
	cnt, err := ioutil.ReadFile(filePath)
	if err != nil {
		fmt.Println("讀取文件失敗:", err)
		return
	}
	fmt.Println(string(cnt))
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章