golang读取文件代码
时间: 2023-03-03 10:42:31 浏览: 237
以下是一个使用 Golang 读取文件的示例代码:
package main
import (
"fmt"
"os"
)
func main() {
// 打开文件
file, err := os.Open("example.txt")
if err != nil {
fmt.Println("无法打开文件:", err)
return
}
defer file.Close()
// 读取文件内容
buf := make([]byte, 1024)
for {
n, err := file.Read(buf)
if n == 0 || err != nil {
break
}
fmt.Print(string(buf[:n]))
}
}
这段代码首先使用 os.Open
函数打开了一个名为 example.txt
的文件,并检查是否有错误。然后,它使用 defer
关键字来确保在函数返回之前关闭文件。接着,它使用一个循环来重复读取文件内容,并将每次读取的内容输出到控制台。在循环中,它首先创建了一个缓冲区(大小为 1024 字节),然后调用 file.Read
函数读取文件内容到缓冲区中。如果读取的字节数为零,或者出现了错误,循环就会停止。否则,它将读取到的内容转换成字符串,并输出到控制台上。
相关问题
golang 读取文件
可以使用 Go 标准库中的 os
和 bufio
包来读取文件。以下是一个简单的示例代码:
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
// 打开文件
file, err := os.Open("filename.txt")
if err != nil {
fmt.Println("Error opening file:", err)
return
}
defer file.Close()
// 用 bufio 包创建一个带缓冲的读取器
reader := bufio.NewReader(file)
// 循环读取文件中的内容
for {
line, err := reader.ReadString('\n')
if err != nil {
fmt.Println("Error reading file:", err)
return
}
fmt.Println(line)
// 如果读到文件结尾,退出循环
if err == io.EOF {
break
}
}
}
在上面的示例代码中,我们首先使用 os.Open
函数打开一个名为 filename.txt
的文件,并在函数结束时使用 defer
关键字关闭该文件。接着,我们使用 bufio.NewReader
函数创建了一个带缓冲的读取器,并在 for
循环中使用 reader.ReadString
方法循环读取文件中的每一行内容。当读取到文件结尾时,我们通过检查 err
变量是否等于 io.EOF
来退出循环。
golang 读取文件到 []byte中
可以使用 Go 标准库中的 io/ioutil
包来读取文件到 []byte
中。以下是一个简单的示例代码:
package main
import (
"fmt"
"io/ioutil"
)
func main() {
// 读取文件内容到 []byte 中
data, err := ioutil.ReadFile("filename.txt")
if err != nil {
fmt.Println("Error reading file:", err)
return
}
// 打印文件内容
fmt.Println(string(data))
}
在上面的示例代码中,我们使用 ioutil.ReadFile
函数将名为 filename.txt
的文件的内容读取到 data
变量中。如果读取过程中出现了错误,我们使用 fmt.Println
函数打印错误信息并退出函数。最后,我们使用 fmt.Println
函数打印 data
变量中的内容(注意需要使用 string
函数将 []byte
类型转换成字符串类型)。
阅读全文
相关推荐















