三种方式读取文件
package main
import (
"bufio"
"fmt"
"io"
"io/ioutil"
"os"
)
func readFile(filePath string) {
file, err := os.Open(filePath)
if err != nil {
return
}
defer file.Close()
var b []byte = make([]byte, 128)
for {
n, er := file.Read(b)
if er == nil {
fmt.Print(string(b[:n]))
} else if er == io.EOF {
break
}
}
}
func readFileFromBuffer(filePath string) {
file, err := os.Open(filePath)
if err != nil {
return
}
defer file.Close()
reader := bufio.NewReader(file)
for {
b, err := reader.ReadBytes('\n')
if err == io.EOF {
break
}
print(string(b))
}
}
//直接完整读取
func readFileUtil(filepath string) {
b, err := ioutil.ReadFile(filepath)
if err == nil {
print(string(b))
}
}
func main() {
readFileFromBuffer("./main.go")
// readFile("./main.go")
// readFileUtil("./main.go")
println()
}