/
githubmirror
/
gogs
Обзор
Документация
Войти
/
githubmirror
/
gogs
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
internal/iox/iox.go
47 строк
890 B
ᴊᴏᴇ ᴄʜᴇɴ
all: rename packages ending with "util" to end with "x" (#8182)
16 фев 2026, 21:25
Не верифицирован
16 фев 2026, 21:25
36d56d5
Код
Авторство
О чём код?
package iox import ( "io" "os" "github.com/cockroachdb/errors" ) // CopyFile copies the file at src to dst, preserving file mode and // modification time. func CopyFile(src, dst string) error { si, err := os.Stat(src) if err != nil { return errors.Wrap(err, "stat source") } in, err := os.Open(src) if err != nil { return errors.Wrap(err, "open source") } defer in.Close() out, err := os.Create(dst) if err != nil { return errors.Wrap(err, "create target") } defer out.Close() if _, err = io.Copy(out, in); err != nil { return errors.Wrap(err, "copy") } if err = out.Sync(); err != nil { return errors.Wrap(err, "sync target") } if err = os.Chmod(dst, si.Mode()); err != nil { return errors.Wrap(err, "chmod target") } if err = os.Chtimes(dst, si.ModTime(), si.ModTime()); err != nil { return errors.Wrap(err, "chtimes target") } return nil }