在Go语言中,可以使用 os
和 io/ioutil
包来进行文件操作。以下是一些常用的文件操作方法:
- 创建文件:
file, err := os.Create("filename.txt") if err != nil { log.Fatal(err) } defer file.Close()
- 打开文件:
file, err := os.Open("filename.txt") if err != nil { log.Fatal(err) } defer file.Close()
- 写入文件:
file, err := os.OpenFile("filename.txt", os.O_WRONLY|os.O_CREATE, 0644) if err != nil { log.Fatal(err) } defer file.Close() data := []byte("Hello, World!") _, err = file.Write(data) if err != nil { log.Fatal(err) }
- 读取文件:
file, err := os.Open("filename.txt") if err != nil { log.Fatal(err) } defer file.Close() data := make([]byte, 1024) count, err := file.Read(data) if err != nil { log.Fatal(err) } fmt.Println(string(data[:count]))
- 删除文件:
err := os.Remove("filename.txt") if err != nil { log.Fatal(err) } • 1 • 2 • 3 • 4
- 重命名文件:
err := os.Rename("oldname.txt", "newname.txt") if err != nil { log.Fatal(err) }
- 复制文件:
sourceFile, err := os.Open("source.txt") if err != nil { log.Fatal(err) } defer sourceFile.Close() destinationFile, err := os.Create("destination.txt") if err != nil { log.Fatal(err) } defer destinationFile.Close() _, err = io.Copy(destinationFile, sourceFile) if err != nil { log.Fatal(err) }
- 获取文件信息
fileInfo, err := os.Stat("filename.txt") if err != nil { log.Fatal(err) } fmt.Println("文件名称:", fileInfo.Name()) fmt.Println("文件大小:", fileInfo.Size()) fmt.Println("是否为目录:", fileInfo.IsDir()) fmt.Println("修改时间:", fileInfo.ModTime())
这些只是文件操作的一些基本方法,还有其他更复杂的操作。你可以查阅Go语言的官方文档来了解更多详细的文件操作方法和函数。