Go 語言讀寫文件
在這裏演示下如何通過 Go 讀寫文件,Go 讀寫文件有很 IO 多函數可以使用,在這裏使用 os 包的 OpenFile 和 Open 函數打開文件,然後用 bufio 包帶緩衝的讀寫器讀寫文件。查看 OpenFile 源碼,其實 Open 函數底層還是調用了 OpenFile。
package main
import (
"bufio"
"fmt"
"io"
"os"
)
func main() {
// 寫文件
outputFile, outputError := os.OpenFile("file.txt", os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0666)
if outputError != nil {
fmt.Println(outputError)
return
}
defer outputFile.Close()
outputWriter := bufio.NewWriter(outputFile)
for i := 0; i < 10; i++ {
outputWriter.WriteString("hello, world\n")
}
// 一定得記得將緩衝區內容刷新到磁盤文件
outputWriter.Flush()
// 讀文件
inputFile, inputError := os.Open("file.txt")
if inputError != nil {
fmt.Println(inputError)
return
}
defer inputFile.Close()
inputReader := bufio.NewReader(inputFile)
for {
inputString, readerError := inputReader.ReadString('\n')
fmt.Printf(inputString)
if readerError == io.EOF {
return
}
}
}