Vilibb
@Vilibb
Пытаюсь изучить какой-либо ЯП.

Почему файл не копируется?

Хочу копировать файл, следующим кодом. Он в свою очередь печатает error_4 invalid argument
Посмотрел у других людей код, копирующий файл, написан так же. Буду признателен, если кто объяснит, почему этот код не работает и как еще можно скопировать файл Х с места А в место Б.
package main

import "fmt"
import "os"
import "io"

func main() {

src_path := "C:\\test_file\\"
dst_path := "C:\\test_file\\file.arj"
os.Mkdir(dst_path,1)
fsrc, err := os.Open(src_path)
if err != nil {
  fmt.Println("error_2:",err)
}
defer fsrc.Close()
  fdst, err := os.Create(dst_path)
  if err != nil {
    print("error_3",err)
  }
  defer fdst.Close()
  size, err := io.Copy(fdst, fsrc)
  if err != nil {
    fmt.Println("error_4",err)
  }
  fmt.Println("size:",size)
}
  • Вопрос задан
  • 350 просмотров
Решения вопроса 1
os.Mkdir(dst_path,1)
Этой строчкой вы создаете папку по пути C:\test_file\file.arj
Потом пытаетесь по этому же пути писать файл, поэтому и не получается.
Вам нужно создавать папку C:\test_file, а не C:\test_file\file.arj.

P.S. Лайфхак: если использовать нужные кавычки, то вам не придется дублировать \\.
src_path := `C:\file.arj`
dst_path := `C:\test_file\file.arj`
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы