//按字节读取,将整个文件读取到缓冲区buffer
func test1() {
file,err := os.Open("filetoread.txt")
if err != nil {
log.Fatal(err)
}
defer file.Close()
fileinfo,err := file.Stat()
if err != nil {
log.Fatal(err)
}
fileSize := fileinfo.Size()
buffer := make([]byte,fileSize)
bytesread,err := file.Read(buffer)
if err != nil {
log.Fatal(err)
}
fmt.Println("bytes read:",bytesread)
fmt.Println("bytestream to string:",string(buffer))
}
//每次读取固定字节
//问题容易出现乱码,因为中文和中文符号不占一个字符
func test2() {
const BufferSize = 100
file,err := os.Open("filetoread.txt")
if err != nil {
log.Fatal(err)
}
defer file.Close()
buffer := make([]byte,BufferSize)
for {
bytesread,err := file.Read(buffer)
if err != nil {
if err != io.EOF {
log.Println(err)
}
break
}
fmt.Println("bytes read:",bytesread)
fmt.Println("bytestream to string:
golang读取文件的常用方法
最新推荐文章于 2024-08-01 09:36:20 发布