linux下golang复制文件带文件权限
在 Linux 下使用 Golang 复制文件,并保留文件权限,可以使用 os.FileMode 类型的 Chmod 方法来设置文件权限,具体实现代码如下:
package main
import (
"fmt"
"io"
"os"
)
func main() {
srcFile, err := os.Open("src.txt")
if err != nil {
fmt.Println(err)
return
}
defer srcFile.Close()
dstFile, err := os.Create("dst.txt")
if err != nil {
fmt.Println(err)
return
}
defer dstFile.Close()
_, err = io.Copy(dstFile, srcFile)
if err != nil {
fmt.Println(err)
return
}
fileInfo, err := os.Stat("src.txt")
if err != nil {
fmt.Println(err)
return
}
err = os.Chmod("dst.txt", fileInfo.Mode())
if err != nil {
fmt.Println(err)
return
}
fmt.Println("文件复制完成")
}
代码中,首先打开源文件和目标文件,然后使用 io.Copy 方法将源文件内容复制到目标文件中。接着获取源文件的文件信息,包括文件权限,最后使用 os.Chmod 方法将目标文件的权限设置为源文件的权限。
原文地址: https://www.cveoy.top/t/topic/55V 著作权归作者所有。请勿转载和采集!