发布时间:2024-11-21 20:33:24
ReadFile函数用于读取指定文件的内容,并返回字节切片。它接收一个文件路径作为参数,可以读取文本文件、二进制文件等。
示例代码:
data, err := ioutil.ReadFile("file.txt")
if err != nil {
fmt.Println("读取文件失败:", err)
return
}
fmt.Println("文件内容:", string(data))
WriteFile函数用于将字节切片写入指定文件。它接收两个参数,第一个参数是文件路径,第二个参数是要写入的数据。
示例代码:
err := ioutil.WriteFile("file.txt", []byte("Hello, World!"), 0644)
if err != nil {
fmt.Println("写入文件失败:", err)
return
}
fmt.Println("写入文件成功!")
ReadDir函数用于读取指定目录下的所有文件和子目录,并返回一个文件信息的切片。它接收一个目录路径作为参数。
示例代码:
files, err := ioutil.ReadDir("dir")
if err != nil {
fmt.Println("读取目录失败:", err)
return
}
for _, file := range files {
fmt.Println(file.Name())
}
TempFile函数用于在指定目录中创建一个临时文件,并返回该文件的文件句柄。它接收两个参数,第一个参数是目录路径,第二个参数是文件名的前缀。
示例代码:
file, err := ioutil.TempFile("dir", "example")
if err != nil {
fmt.Println("创建临时文件失败:", err)
return
}
defer file.Close()
fmt.Println("临时文件路径:", file.Name())
TempDir函数用于在指定目录中创建一个临时目录,并返回该目录的路径。它接收两个参数,第一个参数是目录路径,第二个参数是目录名的前缀。
示例代码:
dir, err := ioutil.TempDir("dir", "example")
if err != nil {
fmt.Println("创建临时目录失败:", err)
return
}
defer os.RemoveAll(dir)
fmt.Println("临时目录路径:", dir)
Copy函数用于将数据从源读取器复制到目标写入器。它接收两个参数,第一个参数是目标写入器,第二个参数是源读取器。
示例代码:
src := strings.NewReader("Hello, World!")
dst, err := os.Create("file.txt")
if err != nil {
fmt.Println("创建文件失败:", err)
return
}
defer dst.Close()
_, err = io.Copy(dst, src)
if err != nil {
fmt.Println("复制文件内容失败:", err)
return
}
fmt.Println("复制文件内容成功!")
NopCloser函数返回一个实现了io.Closer接口的ReadCloser,但不执行任何关闭操作。它接收一个io.Reader作为参数。
示例代码:
reader := strings.NewReader("Hello, World!")
closer := ioutil.NopCloser(reader)
defer closer.Close()
data, err := ioutil.ReadAll(closer)
if err != nil {
fmt.Println("读取数据失败:", err)
return
}
fmt.Println("读取的数据:", string(data))
以上便是ioutil包的一些常用函数和用法。通过这些函数,我们可以方便地进行文件的读写、目录的访问以及其他一些常见的I/O操作。如果你对Go语言的文件操作有需求,不妨试试ioutil包提供的功能吧!