Максим Алексеев Asked:2020-03-29 20:23:56 +0800 CST2020-03-29 20:23:56 +0800 CST 2020-03-29 20:23:56 +0800 CST 如何创建文件并将其移动到新目录? 772 我正在创建一个空文件os.Create()。我想把它移到一个新目录。我怎样才能做到这一点 ? golang 1 个回答 Voted Best Answer AivanF. 2020-03-29T21:40:23+08:002020-03-29T21:40:23+08:00 在同一个磁盘中,您可以简单地更改文件名: package main import ( "log" "os" ) func main() { srcPath := "/старый/путь/test.txt" dstPath := "/новый/путь/test.txt" err := os.Rename(srcPath, dstPath) if err != nil { log.Fatal(err) } } 没有现成的通用函数,但可以这样创建: import ( "fmt" "io" "os" ) func MoveFile(srcPath, dstPath string) error { inputFile, err := os.Open(srcPath) if err != nil { return fmt.Errorf("Couldn't open source file: %s", err) } // Создаём нужный файл outputFile, err := os.Create(dstPath) if err != nil { inputFile.Close() return fmt.Errorf("Couldn't open dest file: %s", err) } defer outputFile.Close() // Копируем содержимое _, err = io.Copy(outputFile, inputFile) inputFile.Close() if err != nil { return fmt.Errorf("Writing to output file failed: %s", err) } // Удаляем исходный файл, если не было ошибок err = os.Remove(srcPath) if err != nil { return fmt.Errorf("Failed removing original file: %s", err) } return nil } 使用这个答案。
在同一个磁盘中,您可以简单地更改文件名:
没有现成的通用函数,但可以这样创建:
使用这个答案。