本節主要記錄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()函數把數據刷入文件流,這樣才能把內容寫入文件。