Golang io.ioutil 包详解
warning:
这篇文章距离上次修改已过417天,其中的内容可能已经有所变动。
io/ioutil 包提供了一些实用的函数来处理输入输出。这个包中的函数在读取文件时会一次性将文件内容全部读入内存,因此不适合读取大文件。
以下是 ioutil 包中常用的一些函数:
func ReadFile(filename string) ([]byte, error):读取文件内容到字节切片,并返回。func WriteFile(filename string, data []byte, perm os.FileMode) error:将数据写入文件,如果文件不存在将创建文件。func ReadDir(dirname string) ([]os.FileInfo, error):读取目录内容到FileInfo切片。func TempDir(dir, prefix string) (name string, err error):创建临时目录。func TempFile(dir, prefix string) (f *os.File, err error):创建临时文件。
示例代码:
package main
import (
"fmt"
"io/ioutil"
"log"
)
func main() {
// 读取文件内容到字节切片
content, err := ioutil.ReadFile("example.txt")
if err != nil {
log.Fatal(err)
}
fmt.Printf("File contents: %s", content)
// 将字符串写入文件
str := "Hello, World!"
err = ioutil.WriteFile("output.txt", []byte(str), 0644)
if err != nil {
log.Fatal(err)
}
}在实际应用中,如果需要处理大文件,应该使用 bufio 包提供的 Scanner 或 Reader,这些类型使用缓冲区来提高性能。
评论已关闭