WriteFile writes a complete file without traversing symbolic links. Creation permissions follow [OpenFile].
(path string, data []byte, filePerm, dirPerm os.FileMode, replace bool)
| 98 | // WriteFile writes a complete file without traversing symbolic links. |
| 99 | // Creation permissions follow [OpenFile]. |
| 100 | func WriteFile(path string, data []byte, filePerm, dirPerm os.FileMode, replace bool) (err error) { |
| 101 | file, err := OpenFile(path, filePerm, dirPerm, replace) |
| 102 | if err != nil { |
| 103 | return err |
| 104 | } |
| 105 | defer func() { |
| 106 | if closeErr := file.Close(); err == nil && closeErr != nil { |
| 107 | err = closeErr |
| 108 | } |
| 109 | }() |
| 110 | |
| 111 | _, err = file.Write(data) |
| 112 | return err |
| 113 | } |
| 114 | |
| 115 | // Close closes the rooted filesystem. |
| 116 | func (r *Root) Close() error { |