package main import ( "bufio" "fmt" "io" "os" ) func main() { //打开文件 file, err := os.Open("E:/a1.txt") //判断文件打开是否错误 if err != nil { fmt.Println("open file err:", err) } //要及时关闭文件,防止内存泄漏,defer延时关闭,文件会在函数使用完后关闭 defer file.Close() //默认缓冲4096 reader := bufio.NewReader(file) //循环读取文件 for { str, err := reader.ReadString('\n')//每读取到一个换行就结束 if err == io.EOF { //io.EOF表示文件末尾 break } fmt.Print(str) } }
package main import ( "fmt" "io/ioutil" ) func main() { file := "E:/a1.txt" byteFile, err := ioutil.ReadFile(file) if err != nil { fmt.Println("read file err:",err) } //不需要关闭文件,ReadFile内部给我们封装好了 fmt.Println(byteFile)//这里不转string会是二进制流 fmt.Println(string(byteFile)) }