在Golang中,有多種方式可以讀取文件內容。以下是其中一些常見的方式:
import (
"io/ioutil"
"log"
)
func main() {
// 讀取文件內容
data, err := ioutil.ReadFile("file.txt")
if err != nil {
log.Fatal(err)
}
// 打印文件內容
log.Println(string(data))
}
import (
"bufio"
"log"
"os"
)
func main() {
// 打開文件
file, err := os.Open("file.txt")
if err != nil {
log.Fatal(err)
}
defer file.Close()
// 創建一個Scanner來逐行讀取文件內容
scanner := bufio.NewScanner(file)
for scanner.Scan() {
// 打印每一行內容
log.Println(scanner.Text())
}
// 檢查是否有錯誤發生
if err := scanner.Err(); err != nil {
log.Fatal(err)
}
}
import (
"bufio"
"log"
"os"
)
func main() {
// 打開文件
file, err := os.Open("file.txt")
if err != nil {
log.Fatal(err)
}
defer file.Close()
// 創建一個Scanner來按塊讀取文件內容
scanner := bufio.NewScanner(file)
// 設置緩沖區大小,這里設置為64KB
const maxCapacity = 64 * 1024
buf := make([]byte, maxCapacity)
scanner.Buffer(buf, maxCapacity)
// 按塊讀取文件內容并打印
for scanner.Scan() {
// 打印每一塊內容
log.Println(scanner.Text())
}
// 檢查是否有錯誤發生
if err := scanner.Err(); err != nil {
log.Fatal(err)
}
}
這些只是讀取文件內容的幾種方式,根據不同的需求和文件大小,可能會有更適合的方式。