Как скопировать/переименовать файл на golang?

Пользователь

от hermina.hauck , в категории: Golang , 5 месяцев назад

Как скопировать/переименовать файл на golang?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от hobart.rath , 5 месяцев назад

@hermina.hauck 

В Go можно скопировать или переименовать файл с помощью пакета os. Вот примеры обоих операций:

  1. Скопировать файл:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package main

import (
    "io"
    "log"
    "os"
)

func main() {
    // Открыть исходный файл для чтения
    srcFile, err := os.Open("source.txt")
    if err != nil {
        log.Fatal(err)
    }
    defer srcFile.Close()

    // Создать новый файл для записи
    destFile, err := os.Create("destination.txt")
    if err != nil {
        log.Fatal(err)
    }
    defer destFile.Close()

    // Скопировать содержимое исходного файла в новый файл
    _, err = io.Copy(destFile, srcFile)
    if err != nil {
        log.Fatal(err)
    }

    log.Println("Файл успешно скопирован.")
}


  1. Переименовать файл:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
package main

import (
    "log"
    "os"
)

func main() {
    // Переименовать файл "oldname.txt" в "newname.txt"
    err := os.Rename("oldname.txt", "newname.txt")
    if err != nil {
        log.Fatal(err)
    }

    log.Println("Файл успешно переименован.")
}


Обратите внимание, что в обоих примерах используется log.Fatal, чтобы вывести сообщение об ошибке и завершить программу в случае возникновения ошибки.