renameio

package
v1.52.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 23, 2023 License: GPL-3.0 Imports: 7 Imported by: 0

README

renameio

Extracted from go/src/cmd/go/internal/renameio/ I don't know what version of Go this package was pulled from.

Adapted for golangci-lint:

Documentation

Overview

Package renameio writes files atomically by renaming temporary files.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Pattern

func Pattern(filename string) string

Pattern returns a glob pattern that matches the unrenamed temporary files created when writing to filename.

func ReadFile

func ReadFile(filename string) ([]byte, error)

ReadFile is like os.ReadFile, but on Windows retries spurious errors that may occur if the file is concurrently replaced.

Errors are classified heuristically and retries are bounded, so even this function may occasionally return a spurious error on Windows. If so, the error will likely wrap one of:

  • syscall.ERROR_ACCESS_DENIED
  • syscall.ERROR_FILE_NOT_FOUND
  • internal/syscall/windows.ERROR_SHARING_VIOLATION

func WriteFile

func WriteFile(filename string, data []byte, perm os.FileMode) (err error)

WriteFile is like os.WriteFile, but first writes data to an arbitrary file in the same directory as filename, then renames it atomically to the final name.

That ensures that the final location, if it exists, is always a complete file.

func WriteToFile

func WriteToFile(filename string, data io.Reader, perm os.FileMode) (err error)

WriteToFile is a variant of WriteFile that accepts the data as an io.Reader instead of a slice.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL