//按字节读取,将整个文件读取到缓冲区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:",string(buffer[:bytesread]))
}
}
//逐行读取
func test3() {
file ,err := os.Open("filetoread.txt")
if err != nil {
log
golang读取文件的常用方法
最新推荐文章于 2024-04-01 14:52:56 发布

最低0.47元/天 解锁文章
250

被折叠的 条评论
为什么被折叠?



