咱就是说啥呢,不是夸你们python呢,你们python文件操作确实比golang有点素质
三个方法直接写一起了,咱就是说啥呢,就是说啥呢,还得ioutil.read,其他的都是地中之地
package main
import (
"bufio"
"fmt"
"io"
"io/ioutil"
"os"
)
func readFromFile1() {
//只读方式打开当前目录main.go文件
file, err := os.Open("./file")
if err != nil {
fmt.Println("open file failed", err)
return
}
defer file.Close()
var tmp = make([]byte, 128)
for {
n, err := file.Read(tmp[:])
if err == io.EOF {
fmt.Println("文件读完了")
return
}
if err != nil {
fmt.Println("read file failed,err:", err)
return
}
fmt.Printf("读取了%d字节数据\n", n)
fmt.Println(string(tmp[:n]))
if n < 128 {
return
}
}
}
//利用bufio这个包读文件
func readFromBufio() {
file, err := os.Open("./file")
if err != nil {
fmt.Println("open file failed", err)
return
}
defer file.Close()
reader := bufio.NewReader(file)
for {
line, err := reader.ReadString('\n')
if err == io.EOF {
return
}
if err != nil {
fmt.Printf("read line files,err:%v", err)
}
fmt.Print(line)
}
}
//利用ioutil读取整个文件
func readFromUntil() {
ret, err := ioutil.ReadFile("./file")
if err != nil {
fmt.Printf("read ret failed,err:%v", err)
return
}
fmt.Println(string(ret))
}
func main() {
readFromFile1()
readFromBufio()
readFromUntil()
}
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
喜欢就支持一下吧