package main
import (
"bufio"
"fmt"
"io"
"os"
)
func readFileByte(path string) {
file, err := os.Open(path)
if err != nil {
fmt.Println(err)
}
defer func() {
err := file.Close()
if err != nil {
fmt.Println(err)
}
}()
//指定读的长度
var tmp = make([]byte, 100)
n, err := file.Read(tmp)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(tmp[:n]))
}
func readFileLine(path string) {
fi, err := os.Open(path)
if err != nil {
fmt.Printf("Error: %s\n", err)
return
}
defer func() {
err := fi.Close()
if err != nil {
fmt.Println(err)
}
}()
br := bufio.NewReader(fi)
for {
a, _, c := br.ReadLine()
if c == io.EOF {
break
}
fmt.Println(string(a))
}
}
func readFileAll(path string) {
fileObj, err := os.ReadFile(path)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(fileObj))
}
func main() {
path := "yourpaht/xxxx.txt"
// 指定字节读
readFileByte(path)
// 逐行读取文件
readFileLine(path)
// 全部读取
readFileAll(path)
}